Scenariusz jest taki:dodatkowe rejestrowanie JBehave
Używamy JBehave i selen dla systemu, integrację i końca do końca badania. Sprawdzam wyniki obliczeń na stronie powyżej 20 wartości do sprawdzenia. Korzystanie z Junit Assert cały test zakończy się niepowodzeniem w pierwszym wystąpieniu jednej z nieprawidłowych wartości. Co chciałem zrobić, to jeśli spełniony jest błąd asercji, to test jest kontynuowany, więc mogę zestawiać wszystkie wartości, które są niepoprawne w jednym przebiegu testowym, a nie w wielu testach.
Aby to zrobić, przechwytuję twierdzenia i zapisuję w pliku dziennika wszystko, co nie powiedzie się sprawdzeniu poprawności. To pozostawiło mnie z kilkoma problemami:
1) Plik dziennika, w którym zapisuję błędy asercji, nie zawiera nazwy historii JBehave lub scenariusza, który był uruchamiany w momencie wystąpienia wyjątku.
2) Historia lub scenariusz JBehave jest wymieniony jako "Przekazywany" i chcę, aby był wymieniony jako "Nieudany".
Czy istnieje sposób, w jaki mogę zapisać nazwę historii i scenariusza w dodatkowym pliku dziennika LUB uzyskać dodatkowe rejestrowanie zapisywane w pliku dziennika JBehave?
W jaki sposób mogę uzyskać Scenariusz/Scenariusz oznaczony jako nieudany?
W konfiguracji JBehave mam:
configuredEmbedder()
.embedderControls()
.doIgnoreFailureInStories(true)
.doIgnoreFailureInView(false)
.doVerboseFailures(true)
.useStoryTimeoutInSecs(appSet.getMaxRunningTime());
i
.useStoryReporterBuilder(
new StoryReporterBuilder()
.withDefaultFormats()
.withViewResources(viewResources)
.withFormats(Format.HTML, Format.CONSOLE)
.withFailureTrace(true)
.withFailureTraceCompression(true)
.withRelativeDirectory("jbehave/" + appSet.getApplication())
Dziękuję. To było naprawdę przydatne. –
Czy możesz dodać więcej informacji na temat tworzenia rejestratorów. Proszę wyjaśnić: private Log log = ... – farheen
To zależy od tego, z której struktury logowania korzystasz. Jeśli używasz slf4j: 'Logger log = LoggerFactory.getLogger (MyStoryReporter.class);'. Najważniejsze jest to, że może to być cokolwiek w tych metodach wywołania zwrotnego - możesz zrobić sysout, napisać do bazy danych lub cokolwiek innego – plasma147