Springboot 2.1.5 單元測試

controller

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @Description : test
 * @Author :
 * @Date :2019/6/4 10:58
 **/
@Controller
@RestController
public class HelloController {
    @RequestMapping("/hello")
    public String hello() {
        return "hello";
    }
}

test 

import com.lee.springboot215.controller.HelloController;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.http.MediaType;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import org.springframework.test.web.servlet.result.MockMvcResultMatchers;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;

/**
 * 另一種引入方式
 * import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
 * import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
 * import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
 * import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
 */

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

    private MockMvc mockMvc;

    @Before
    public void setUp() {
        mockMvc = MockMvcBuilders.standaloneSetup(new HelloController()).build();
    }

    @Test
    public void helloTest() {
        try {
            mockMvc.perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_JSON))
                    .andExpect(MockMvcResultMatchers.status().isOk())
                    // 下面是驗證結果的,輸入的預期結果和實際結果不符合時,會報錯.否則不會報錯.
                    .andExpect(MockMvcResultMatchers.content().string("hello"));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

結果

 

參考:https://www.cnblogs.com/0201zcr/p/5756642.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章