Jerry's Blog

Recording what I learned everyday

View on GitHub


7 June 2019

Spring Unit test

by Jerry Zhang

Day 3: Spring boot Web Evolved - Unit test



Testing a service method

Using Intellij IDEA, in the service class, right click the method name, Go To, Test. In this way, we can create a new test class and check the methods you want to test.

@RunWith(SpringRunner.class)
@SpringBootTest
public class GirlServiceTest {

    @Autowired
    private GirlService girlService;

    @Test
    public void findOneTest() {
        Girl girl = girlService.findOne(73);
        Assert.assertEquals(new Integer(13), girl.getAge());
    }
}

Testing a controller method

For controller methods, we want to test a HTTP request. Here we use @AutoConfigureMockMvc and MockMvc class.

@RunWith(SpringRunner.class)
@SpringBootTest
@AutoConfigureMockMvc
public class GirlControllerTest {

    @Autowired
    private MockMvc mvc;

    @Test
    public void girlList() throws Exception {
        mvc.perform(MockMvcRequestBuilders.get("/girls"))
                .andExpect(MockMvcResultMatchers.status().isOk())
        .andExpect(MockMvcResultMatchers.content().string("abc"));
    }

}

Maven package tests

When we package with maven, maven will run all the unit tests for us before packaging.

If we want to skip unit test when mvn clean package, we can execute the command below:

mvn clean package -Dmaven.test.skip=true
tags: Spring, - Unit - test