场景
若依微服务版手把手教你本地搭建环境并运行前后端项目:
若依微服务版手把手教你本地搭建环境并运行前后端项目_霸道流氓气质的博客-CSDN博客
在上面的基础上需要在某个服务模块中进行单元测试。
注:
博客:
霸道流氓气质的博客_CSDN博客-C#,架构之路,SpringBoot领域博主
实现
1、首先在需要进行单元测试的服务模块中引入依赖spring-boot-starter-test
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
2、新建test目录/包,包名路径与src/main/java下的根包名一致
3、在src/test/java/包名下新建测试类
测试类上添加注解
@RunWith(SpringRunner.class)
@SpringBootTest(classes = RuoYiFzysApplication.class)
这里RuoYiFzysApplication.class是对应的启动类,如果不加则有可能提示:
you need to use @ContextConfiguration or @SpringBootTest(classes=…) with your test
因为我们测试类的位置跟Springboot启动类的位置对应不上,测试类启动默认会去找Springboot的启动类,因为测试类位置改变了 所以找不到启动类。
然后如果项目中有集成的websocket则可能还会提示:
javax.websocket.server.ServerContainer not available
这是因为springbootTest启动时不会启动服务器,所以websocket就会报错,
这个时候需要在注解中添加webEnvironment,给wevsocket提供测试环境。
@RunWith(SpringRunner.class)
@SpringBootTest(classes = RuoYiFzysApplication.class,webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
4、然后测试类中新建测试方法
@Test
public void test1(){
Collection<String> keys = redisService.keys(CAR_CARD_REAL_TIME + "*");
}
并在测试方法上他添加注解
这里以获取redis中指定前缀开头的key为例。
如果需要引入外部依赖,则需要注入并添加注解,比如这里的redisService
@Autowired
private RedisService redisService;
5、完整的测试类
package ruoyi.fzys;
import com.ruoyi.common.redis.service.RedisService;
import com.ruoyi.fzys.RuoYiFzysApplication;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.Collection;
@RunWith(SpringRunner.class)
@SpringBootTest(classes = RuoYiFzysApplication.class,webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class ScanNoLoginEachHourTest {
@Autowired
private RedisService redisService;
public static final String CAR_CARD_REAL_TIME = "car:realTime";
@Test
public void test1(){
Collection<String> keys = redisService.keys(CAR_CARD_REAL_TIME + "*");
}
}
6、进行测试
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/135830.html