Сценарий таков:
Мы используем JBehave и Selenium для системы, интеграции и сквозного тестирования. Я проверяю результаты расчета на странице с более чем 20 значениями для проверки. При использовании Junit Assert весь тест завершится ошибкой, если одно из значений окажется неверным. Что я хотел сделать, так это то, что если встречается ошибка утверждения, тест продолжает выполняться, чтобы я мог затем сопоставить все неверные значения в одном тестовом прогоне, а не в нескольких тестовых прогонах.
Для этого я фиксирую утверждения и записываю в файл журнала все, что не проходит проверку. Это оставило у меня пару проблем:
1) Файл журнала, в который я записываю ошибки утверждений, не содержит названия истории или сценария JBehave, которые выполнялись во время возникновения исключения.
2) История или сценарий JBehave отмечены как «Пройдено», и я хочу, чтобы они были отмечены как «Не пройдены».
Можно ли каким-либо образом записать имя истории и сценария в дополнительный файл журнала ИЛИ получить дополнительную запись журнала в файл журнала JBehave?
Как пометить сюжет/сценарий как проваленный?
В конфигурации JBehave у меня есть:
configuredEmbedder()
.embedderControls()
.doIgnoreFailureInStories(true)
.doIgnoreFailureInView(false)
.doVerboseFailures(true)
.useStoryTimeoutInSecs(appSet.getMaxRunningTime());
и
.useStoryReporterBuilder(
new StoryReporterBuilder()
.withDefaultFormats()
.withViewResources(viewResources)
.withFormats(Format.HTML, Format.CONSOLE)
.withFailureTrace(true)
.withFailureTraceCompression(true)
.withRelativeDirectory("jbehave/" + appSet.getApplication())