Основное отличие для меня является целевой аудиторией.
JUnit (и другие модульные тестовые рамки) предназначены для разработчиков, которые проверяют свой код (все еще), делает то, что они ожидали от него. Определение тестов, выполнение и интерпретация результатов, как ожидается, будут выполнены программистами. Инструментарий предназначен для тестирования белого ящика, хотя его можно использовать и для других целей.
FitNesse предназначен для тестирования на «черном ящике», основываясь на функциональности, а не на том, как она реализована. Цель состоит в том, что знания домена достаточны для создания тестов (или, по крайней мере, добавления тестовых примеров), выполнения их и получения значимой информации из тестового вывода.
В моем использовании программисты также работают с FitNesse, но они используют его для определения интеграционных тестов, работающих против установленной системы, для проверки сквозного поведения. Мы, например, тестируем веб-приложения с помощью браузера (с использованием Selenium) и SOAP-интерфейсов, предлагаемых системой. Модульные тесты используются для тестирования компонентов (часто с заменой внешних компонентов на фальшивки/издевательства) в процессе тестирования.
Помогает ли это вообще?