Squaretest单元测试生成利器...一天生成所有简单单元测试...[新手开箱可用]
- 1.Squaretest是什么?
- 2.如何配合JUnit使用...?
- 3.生成的java文件长啥样?
- 4.如何生成和使用?
- 5.如何用生成的XXXTest.java文件进行单元测试...
- 6.观察结果
- 7.单元测试成功
- 8.源码地址
 
为了好好写单元测试,提高工作质量(为了方便摸鱼),找了一个好用的单元测试生成工具…
1.Squaretest是什么?
一个idea的单元测试快速生成插件
2.如何配合JUnit使用…?
引用pom
		<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter</artifactId>
            <version>5.9.1</version>
        </dependency>
3.生成的java文件长啥样?
UnitTestControllerTest.java
package com.dongtech;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.mock.web.MockHttpServletResponse;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.springframework.test.web.servlet.MockMvc;
import static org.assertj.core.api.Assertions.assertThat;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
@ExtendWith(SpringExtension.class)
@WebMvcTest(UnitTestController.class)
class UnitTestControllerTest {
    @Autowired
    private MockMvc mockMvc;
    @Test
    void testUnitTest() throws Exception {
        // Setup
        // Run the test
        final MockHttpServletResponse response = mockMvc.perform(get("/unittest")
                .accept(MediaType.APPLICATION_JSON))
                .andReturn().getResponse();
        // Verify the results
        assertThat(response.getStatus()).isEqualTo(HttpStatus.OK.value());
        assertThat(response.getContentAsString()).isEqualTo("unittest");
    }
}
4.如何生成和使用?
打开需要生成的UnitTestController.java点击工具栏中的Squaretest中的Generate Test - Confirm Mocks…
 
5.如何用生成的XXXTest.java文件进行单元测试…

6.观察结果
第一次运行失败了…原因是获取的string不一致…原来是动态生成的默认字符串和我写好的返回不一致…
 
7.单元测试成功
assertThat(response.getContentAsString()).isEqualTo(“unittest”);
8.源码地址
Github





















