您的位置:首页 > 汽车 > 新车 > idea自动生成单元测试工具

idea自动生成单元测试工具

2025/6/6 20:51:26 来源:https://blog.csdn.net/m0_37583655/article/details/139610398  浏览:    关键词:idea自动生成单元测试工具

idea自动生成单元测试工具

  • Squaretest插件(收费)
  • TestMe插件(免费)
  • 启动springboot应用调用rest接口

Squaretest插件(收费)

1.File——>Settings——>Plugins,搜索Squaretest,然后install就好了,插件安装完成后需要重启一下

2.打开class-右键–选择Generate–生成test

TestMe插件(免费)

TestMe插件可以智能分析被测试类的依赖类,结合Mockito+Junit等单元测试框架,生成Mock/InjectMocks依赖关系,自动生成单元测试类。

1.File——>Settings——>Plugins,搜索TestMe,然后install就好了,插件安装完成后需要重启一下。

2.打开class-右键–选择testme–生成test

启动springboot应用调用rest接口

  • 使用@SpringBootTest启动整个应用。
  • 使用@TestPropertySource来指定一个名为application-test.properties的配置文件,该文件应该位于classpath:下(即类路径根目录)。
  • 使用TestRestTemplate来发送一个POST请求到/home/update端点,并检查响应状态和数据。
  • 使用 @LocalServerPort注解用于注入Spring Boot应用随机启动的端口号。

测试中的URL字符串现在包含${port}占位符,它会被实际的端口号替换。
确保你的HomeController和其他相关组件(如User和ResponseResult类)正确配置并且能够被Spring Boot应用识别。如果问题仍然存在,检查是否有防火墙规则阻止了本地端口的连接,或者是否还有其他服务正在占用相同的端口。如果使用的是Docker容器或其他虚拟化环境,还需要检查网络设置是否允许容器内部的服务与宿主机进行通信。

package com.zrj.tools.platform.controller;import com.zrj.tools.platform.entity.ResponseResult;
import com.zrj.tools.platform.entity.User;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.web.client.TestRestTemplate;
import org.springframework.boot.test.web.server.LocalServerPort;
import org.springframework.core.ParameterizedTypeReference;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
import org.springframework.test.context.TestPropertySource;import static org.assertj.core.api.AssertionsForInterfaceTypes.assertThat;@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@TestPropertySource(locations = "classpath:application.properties")
class HomeControllerTest {@LocalServerPortprivate int port;@Autowiredprivate TestRestTemplate restTemplate;@Testpublic void testUpdateEndpoint() {HttpHeaders headers = new HttpHeaders();headers.setContentType( org.springframework.http.MediaType.APPLICATION_JSON );User user = new User();user.setName( "John Doe" );HttpEntity<User> entity = new HttpEntity<>( user, headers );ResponseEntity<ResponseResult<User>> response = restTemplate.exchange("http://localhost:" + port + "/home/update", HttpMethod.POST, entity,new ParameterizedTypeReference<ResponseResult<User>>() {});assertThat( response.getStatusCodeValue() ).isEqualTo( 200 );assertThat( response.getBody().getData() ).isEqualTo( user );}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com