Jeden test jedna instancja?

0

Hej
Testuje sobie moduły aplikacji i zastanawiam się co jest lepsze. Do każdego testu tworzyć osobną instancję modułu/modułów?
Zalety jakie widzę to izolacja testów, dane zapisane w innych testach nie będą wpływać jakoś na wynik (chociaż w sumie może trochę powinny, żeby symulować działąjącą aplikacje a nie czystą?)
Wadą jest za to duża powtarzalność przy pisaniu "setupu" testu w stylu

   @Test
    public void shouldAddBetToMatch(){
        //given
        BetFacade betFacade = new InMemorySystem().betFacade();
        LeagueFacade leagueFacade = new InMemorySystem().leagueFacade();
        UUID leagueUUID = leagueFacade.createLeague("new");
        UUID matchUUID = leagueFacade.addMatchToLeague(leagueUUID, new NewMatchDTO("host", "guest", 1));
        //when
        UUID betUUID = betFacade.addBetToMatch(matchUUID, new NewBetDTO(BetTyp.DRAW,"username"));
        //then
        Option<BetDTO> bet = betFacade.findBetByUUID(betUUID);
        if(bet.isEmpty()){
            fail("No bet");
        }
        BetDTO betDTO = bet.get();
        assertEquals(matchUUID,betDTO.getMatchUUID);
        assertEquals(BetTyp.DRAW,betDTO.getBetType());
        assertEquals("username",betDTO.getUsername());
    }

Co polecacie?

1

Przy testach jednostkowych, każdy przypadek powinien być niezależny. Jeżeli chcesz sprawdzić co się dzieje po wykonaniu kilku akcji w systemie to opakuj to w oddzielny test. Do ograniczenia zbędnego kodu to sprawdź adnotacje @Before, @BeforeClass z JUnit

1 użytkowników online, w tym zalogowanych: 0, gości: 1