Сейчас изучаю Scala. Я видел там 2 тестовых фреймворка: ScalaTest и Specs. Моя единственная проблема в том, что я все еще не могу решить, какой из языков лучше. Также я привык писать тесты перед кодом, на данный момент я не имею четкого представления, как это делать в функциональном программировании. В идеале я бы хотел изучить Scala в стиле TDD, есть ли какие-нибудь ресурсы по этому поводу?
изучать Scala с TDD
Ответы (3)
Есть функциональный коан, который вы, возможно, ищете. Дик Уолл из Java Posse начал проект на github:
https://github.com/relevance/functional-koans/tree/scala
Вам нужен maven, чтобы запустить его через mvn package
.
Есть еще один Коан:
Спасибо @MikeHoss!
assert(false) // should be true
- person michael.kebe; 17.11.2010
Итак, тестовые фреймворки. Есть другие вопросы по этому поводу , хотя я хотел бы отметить, что существует также ScalaCheck. ScalaCheck не так полон функций, как Specs и ScalaTest, но, с другой стороны, оба Specs и ScalaTest могут интегрироваться с ним.
Лично я бы предпочел ScalaCheck, который, вероятно, сильно отличается от привычных вам фреймворков для модульного тестирования. Эта разница может помочь вам не создавать тесты в объектно-ориентированной манере.
Теперь, к основной проблеме вашего вопроса: существует ли учебник по Scala в стиле TDD? Я ничего не знаю, хотя ответ о функциональные коаны, похоже, подходят для того, что вы хотите.
ScalaTest - это более многофункциональная и гибкая из двух сред.
Сказав это ... В настоящее время я отдаю предпочтение спецификациям, они, кажется, гораздо лучше справляются с последними выпусками Scala, и интеграция с IntelliJ также работает лучше.
У спецификаций также есть преимущество, заключающееся в том, что вам нужно изучить меньший API.