[Java实战]Squaretest单元测试生成利器...一天生成所有简单单元测试...[新手开箱可用]
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