JUnit: Czy można to zrobić?

Próbuję napisać kilka testów interfejsu użytkownika dla aplikacji internetowej, ale mam kilka komplikacji, które mam nadzieję rozwiązać.

Przede wszystkim aplikacja ma dwa tryby. Jednym z trybów jest „trening”, a inny „na żywo”. W trybie na żywo dane są pobierane bezpośrednio z naszej bazy danych, a wszelkie zmiany wprowadzone przez moje testy są odzwierciedlane w bazie danych, przed uruchomieniem każdego testu w trybie „na żywo” muszę wygenerować dane testowe, ponieważ za każdym razem jest inaczej (mam już tę logikę w miejscu). W trybie treningowym wszystkie dane są statyczne, więc za każdym razem używane są te same dane testowe.

Ponieważ interfejs użytkownika jest taki sam w każdym trybie, chcę uruchomić testy raz w każdym trybie, jednak z powodu pewnych cech niektóre z moich testów mogą być uruchamiane tylko w trybie na żywo.

Jak najlepiej to zrobić, to podzielić moje testy na kilka klas, na przykład: UserTests, PaymentTests, LiveOnlyTests itp. I mieć dwie różne klasy (rozszerzające wspólny interfejs), które dostarczają dane testowe.

Następnie z tych elementów chciałbym zbudować 2 różne zestawy testów, po jednym dla każdego trybu. Zestawy testowe zaakceptowałyby obiekt z danymi, które przekazuję, i wykonuję testy.

Czy ktoś wie, czy to lub coś, co osiąga podobny efekt, jest możliwe w JUnit (lub jakiejkolwiek innej strukturze java-testowej). Jedynym sposobem, w jaki to widzę, jest napisanie własnego test-runnera, ale wolałbym tego uniknąć.

Z góry dziękuję.

questionAnswers(1)

yourAnswerToTheQuestion