rest controller testy

0

Hej, chciałbym nauczyć się pisać testy.
W następnym tygodniu spróbuję dorwać tę książkę "TDD : programowanie w Javie sterowane testami" / Viktor Farcic, Alex Garcia - swoją drogą jakieś opinie o niej ? Może lepiej zabrać się za inną lekturę ?
Ale.. do tego czasu chciałbym już coś popisać, ponieważ dużo łatwiej przyswaja mi się wiedzę w kolejności [praktyka -> teoria].
Szukałem czegoś na necie i przeklepałem kod z małymi zmianami:

 @RunWith(SpringJUnit4ClassRunner.class)
 @ContextConfiguration(classes = Application.class)
 @SpringBootTest
 @FixMethodOrder(MethodSorters.NAME_ASCENDING)
 public class AbcControllerTest() {
  private MockMvc mockMvc;
 
     @Autowired
     private WebApplicationContext wac;
 
     @Before
     public void setup() {
         this.mockMvc = MockMvcBuilders.webAppContextSetup(wac).build();
     }
 
     @Test
     public void readAllAbc() throws Exception {
         mockMvc.perform(MockMvcRequestBuilders
         .get("/abc")
                 .accept(MediaType.APPLICATION_JSON_UTF8))
                 .andExpect(jsonPath("$", hasSize(10)))
                 .andExpect(status().isOk())
                .andDo(print());
     }
}

I... testy przechodzą ale wpływają na moją bazę danych tzn. jak testuję usuwanie, to usuwa mi dane z bazy. Tak powinno wyglądać testowanie :O ?

1

@ContextConfiguration(classes = Application.class) tutaj dajesz specjalną konfiguracje pod testy, np. z bazą in-memory albo jakąś HSQL / H2 robioną w locie pod testy, a nie twoje produkcyjne środowisko.

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