Squaretest单元测试生成利器...一天生成所有简单单元测试...[新手开箱可用]
为了好好写单元测试,提高工作质量(为了方便摸鱼),找了一个好用的单元测试生成工具…
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.源码地址
版权声明:本文为aaaadong原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。