包含标签 单元测试 的文章

MockMvc WebFilter不生效问题解决

在SpringBoot项目中,配置了一个@WebFilter,正常启动没问题,但是通过MockMvc进行单元测试死活不生效 @Configuration @Order(1) @WebFilter(urlPatterns = ["/**"]) class HttpServletRequestWrapperFilter : Filter { override fun doFilter(req: ServletRequest?, resp: ServletResponse?, chain: FilterChain?) { when (req) { is HttpServletRequest -> chain?.doFilter(MyHttpServletRequestWrapper(req), resp) else -> chain?.doFilter(req, resp) } } } 后来搞了半天,原来在构建MockMvc对象时,需要手动添加过滤器,这坑爹的玩意儿。 @Before fun setUp() {……

阅读全文

使用MockMvc在SpringBoot中进行单元测试

在开发好常规的RESTful接口后,难免会依次进行单元测试,一般来说使用Postman即可, 但是依然是不太方便,有没有更方便,更优雅的方式呢? MockMvc org.springframework.test.web.servlet.MockMvc MockMvc是由Spring提供的,作用是在单元测试代码中,伪造一套MVC环境,常见的方法如下: Method Remark perform 执行一个RequestBuil……

阅读全文

ContiPerf::优雅且方便的单元压力测试工具

ContiPerf 是一个轻量级的单元测试工具,基于JUnit 4二次开发,使用它基于注解的方式,快速在本地进行单元压测并提供详细的报告。 示例 新建 SpringBoot 工程 POM文件中的核心依赖如下: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.databene</groupId> <artifactId>contiperf</artifactId> <version>2.1.0</version> <scope>test</scope> </dependency> 测试接口以及实现 package com.wuwenze.contiperf.service; import java.util.List; public interface ContiperfExampleService { List<String> findAll(); } import com.wuwenze.contiperf.service.ContiperfExampleService; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; import java.util.Random; import lombok.extern.slf4j.Slf4j; @Slf4j @Service public class ContiperfExampleServiceImpl implements ContiperfExampleService { private final Random RANDOM = new Random(); @Override public List<String>……

阅读全文