Спок против Фитнесса

Я искал Spock, и у меня был опыт работы с FitNesse. Мне интересно, как бы люди предпочли одно другому - если они, кажется, обращаются к одному и тому же или похожему проблемному пространству.

Также для людей, которые использовали Spock или другой отличный код для тестов, вы видите какое-либо заметное снижение производительности? Предполагается, что тесты должны давать немедленную обратную связь — поскольку мы знаем, что если тесты выполняются дольше, разработчик, как правило, запускает их реже, поэтому мне интересно, повлияло ли снижение скорости выполнения тестов на реальный мир. .

Спасибо


person KumarM    schedule 10.07.2011    source источник
comment
Я не думаю, что есть заметное снижение производительности вообще. Я обнаружил, что Спок изменил то, как я пишу тесты, больше всего к лучшему (структура с данными/когда и т. д.). Я также думаю, что спок более широко используется и принимается.   -  person Steven    schedule 11.07.2011
comment
Я не использовал FitNesse, но могу порекомендовать Spock. Это действительно выразительный способ написания легко читаемых тестов. Эти тесты выполняются быстро. С точки зрения производительности существенного влияния нет.   -  person topr    schedule 13.09.2013
comment
также см. stackoverflow.com/questions/45352358/karate-vs-spock   -  person Peter Thomas    schedule 24.08.2017


Ответы (1)


Я не сторонник FitNesse, поэтому, пожалуйста, отнеситесь к тому, что я говорю, с долей скептицизма. Мне кажется, что FitNesse пытается сделать, это предоставить независимую от языка программирования среду для определения тестов. Они используют его, чтобы иметь более наглядный интерфейс с программистом. В Spock преобразование Groovy ast используется для преобразования таблицы в программу Groovy.

Поскольку вы в основном остаетесь на языке программирования, в Spock проще реализовать более сложные тестовые настройки. В результате вам часто приходится писать код приспособления в FitNesse.

Мне лично кнопка выполнения теста не нужна, мне нравится прямой подход. Мне нравится, что мне не нужно брать еще больше классов, только для того, чтобы включить тестирование, и мне нравится смотреть на код напрямую. Например, я хочу просто выполнить свой тест из командной строки, а не из веб-интерфейса. Это, безусловно, возможно и в FitNesse, но в результате вся визуальная вещь, которую FitNesse пытается дать пользователю, для меня просто балласт. Вот почему я бы выбрал Spock, а не FitNesse.

Преимущество подхода, не зависящего от языка, конечно же, в том, что для Java и .Net можно использовать множество тестовых спецификаций. поэтому, если это требование для вас, вы можете судить по-другому. Обычно это не ко мне.

Что касается производительности, я бы не стал слишком беспокоиться об этой части.

person blackdrag    schedule 24.10.2011