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.源码地址
Github
版权归原作者 学生董格 所有, 如有侵权,请联系我们删除。