若依微服务版(SpringBoot/SpringCloudAlibaba)中在单个服务模块中进行单元测试

这篇具有很好参考价值的文章主要介绍了若依微服务版(SpringBoot/SpringCloudAlibaba)中在单个服务模块中进行单元测试。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

场景

若依微服务版手把手教你本地搭建环境并运行前后端项目:

若依微服务版手把手教你本地搭建环境并运行前后端项目_霸道流氓气质的博客-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下的根包名一致

若依微服务版(SpringBoot/SpringCloudAlibaba)中在单个服务模块中进行单元测试

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、进行测试

若依微服务版(SpringBoot/SpringCloudAlibaba)中在单个服务模块中进行单元测试

 文章来源地址https://www.toymoban.com/news/detail-460317.html

到了这里,关于若依微服务版(SpringBoot/SpringCloudAlibaba)中在单个服务模块中进行单元测试的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 若依微服务版本集成积木报表

    新建报表微服务模块,这是我的项目结构图。 运行积木报表的初始化脚本,创建相关表结构,github速度太慢,推荐使用 gitee地址。选择你要建表的数据库,我是跟业务库放到了一起,执行完后会新增以下这几张表。 在顶级父pom中声明积木报表的版本号: 在报表微服务模块添

    2024年02月11日
    浏览(26)
  • 若依微服务上传图片文件代理配置

    在使用若依微服务文件上传时候,文件上传成功会上传到D:/ruoyi/uploadPath目录下。默认使用9300端口进行访问图片文件,现在我想把它代理到80端口应该怎么做呢? 配置前:http://localhost:9300/statics/2023/09/24/test.jpg 配置后:http://localhost/statics/2023/09/24/test.jpg 在前端目录中.env.develo

    2024年02月02日
    浏览(29)
  • 若依微服务集成CAS,实现单点登录

    若依(RuoYi)微服务是一款基于Spring Cloud Alibaba开发的企业级微服务框架,采用前后端分离方式,使用了常用的微服务组件,如Feign、Nacos、Sentinel、Seata等,提供了丰富的微服务治理功能,如服务注册、发现、路由、负载均衡、熔断降级、限流等。借助若依微服务框架可以让我

    2024年02月12日
    浏览(32)
  • Docker环境一键部署若依微服务版

    若依管理系统是基于SpringBoot的权限管理系统,可以用它作为基础构建自己的后台管理系统。这个项目在 Gitee 上有1.8 万个 star。 它有3 个版本,分别是单体版、前后端分离版、微服务版。这次是使用 docker部署他的微服务版本。 微服务版项目源代码包括 docker 部署的相关代码,

    2024年02月06日
    浏览(40)
  • 【Docker部署若依微服务版(Window环境)】

    需要用到Docker Desktop、Maven、Node.js Docker Desktop 快速下载地址 http://get.daocloud.io/#install-docker-for-mac-windows Maven 快速下载地址 http://archive.apache.org/dist/maven/maven-3/ Node.js 下载地址 https://nodejs.org/zh-cn/ git clone https://gitee.com/y_project/RuoYi-Cloud.git docker pull portainer/portainer docker run -d -p 9000:

    2024年02月06日
    浏览(27)
  • ruoyi-cloud—若依微服务打包部署

    1. 前端端口修改 2. 后端端口修改 (1)修改ruoyi-gateway服务中的bootstrap.yml的port端口  (2)修改ruoyi-ui中的vue.confing.js的target中的端口 3. 后端部署 (1) 在本地电脑上代码界面上打包后端 在 ruoyi 项目的 bin 目录下执行 package.bat 打包Web工程,生成jar包文件。不同模块版本会生成在

    2024年01月21日
    浏览(52)
  • 若依微服务docker-compose部署vuepress

    千寻简笔记已开源,Gitee与GitHub搜索 chihiro-notes ,包含笔记源文件 .md ,以及PDF版本方便阅读,且是用了精美主题,阅读体验更佳,如果文章对你有帮助请帮我点一个 Star ~

    2024年02月12日
    浏览(29)
  • 若依微服务中的上传文件的前后端实现

    前端: :limit用来控制上传文件数量的默认一 后端 若依项目自带的详情自己下载自己去找service层去看吧

    2024年02月01日
    浏览(25)
  • 若依微服务整合activiti7.1.0.M6

    放弃activiti7新版本封装的API,使用老版本的API,这种方式只需要直接集成即可,在7.1.0.M6版本中甚至不需要去除security的依赖。不多介绍,需要的可以私聊找我。 需要使用新版本的API,那就需要集成security,需要写一点代码实现security的集成。以下详细介绍这一种方式。 步骤

    2024年02月15日
    浏览(23)
  • 若依微服务版启动(RuoYi-Cloud)教程

    之前一直有小伙伴咨询若依微服务版如何在本地启动,今天简单的给大家介绍一下。 首先,学习Java的小伙伴应该对若依框架都应该有所了解,RuoYi-Cloud 是一个 Java EE 分布式 微服务架构平台,基于经典技术组合(Spring Boot、Spring Cloud Alibaba、Vue、Element),内置模块如:部门管

    2024年01月18日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包