Ответ 1
Я не парень FitNesse, поэтому, пожалуйста, возьмите то, что я говорю, с солью. Для меня кажется, что FitNesse пытается сделать, это предоставить независимую среду для языка программирования, чтобы указать тесты. Они используют его, чтобы иметь более визуальный интерфейс с программистом. В Spock a Groovy преобразование ast используется для преобразования таблицы в программу Groovy.
Так как вы в основном остаетесь на языке программирования, то в Spock проще реализовать более сложные тестовые настройки. В результате вам часто приходится писать код фиксации в FitNesse.
Мне лично не нужна кнопка выполнения теста, мне нравится прямой подход. Мне нравится не заниматься еще большим количеством классов, только для тестирования, и мне нравится смотреть на код напрямую. Например, я хочу просто выполнить мой тест из командной строки, а не из веб-интерфейса. Это тоже возможно в FitNesse, но в результате вся визуальная вещь FitNesse пытается дать пользователю просто балласт для меня. Вот почему я бы выбрал Спок над FitNesse.
Преимущество языкового агностического подхода, конечно, состоит в том, что для Java и для .Net можно использовать множество спецификаций теста. поэтому, если это требование для вас, вы можете судить по-другому. Обычно это не для меня.
Что касается производительности, я бы не стал слишком беспокоиться об этой части.