2015-02-09 4 views
2

Я только что унаследовал старую java-кодовую базу (около 10-15 лет). Он не имеет никакого автоматизированного тестирования, или, по крайней мере, современный мир знает об этом. Для начала я планирую написать сценарии для фитнеса.Покрытие кода для Fitnesse

Я знаю о Конкордионе и т. Д. И у меня есть причина выбрать Fitnesse. Я буду избегать этого, поскольку это не тема этого вопроса.

Мой вопрос в том, что я не знаю, как быстро измерить охват кода, сделанный тестами Fitnesse, когда я их пишу. Я знаю, что jacoco (или аналогичные библиотеки) должны быть в состоянии сообщить об этом, но я просто не могу понять, как именно.

Итак, если кто-то из вас работал над скриптами Teste Testes и сумел получить отчет Jenkins о покрытии, достигнутом в сценариях, пожалуйста, помогите.

Спасибо.

ответ

0

Я не сделал это сам, потому что я стараюсь использовать FitNesse для тестирования развернутых приложений (и я не могу измерить покрытие кода в «реальной установке»). Но я считаю, что это должно быть довольно простым, если вы запускаете тесты FitNesse как часть junit-запуска Jenkins (или любого другого сервера сборки), который измеряет охват кода.

Чтобы ваши тесты FitNesse быть выполнены как часть JUnit запуска: создать класс Java с аннотацией @RunWith (FitNesseRunner.class) и дать ему @Suite («MyPageOrSuite.That.IWantToRun») аннотацию указать, какие тесты для запуска. Это будет выполнять указанные страницы в том же Java-процессе, что и процесс jUnit, поэтому, если это каким-то образом определено для определения покрытия кода, охват ваших тестов FitNesse будет включен в отчет.

Sample jUnit test class, бег FitNesse.SuiteAcceptanceTests.SuiteSlimTests.TestScriptTable:

@RunWith(FitNesseRunner.class) 
@FitNesseRunner.Suite("FitNesse.SuiteAcceptanceTests.SuiteSlimTests.TestScriptTable") 
@FitNesseRunner.FitnesseDir(".") 
@FitNesseRunner.OutputDir("../target/fitnesse-results") 
public class FitNesseRunnerTest { 
}