spring boot 测试用例

本文探讨了在普通环境下与Spring环境下测试用例的运行差异,指出Spring环境由于其复杂性导致运行速度较慢,但能更好地模拟实际应用。通过添加@SpringBootTest注解可以在Spring环境中进行调试,特别是在涉及WebSocket的情况下。文章还分享了如何配置@SpringBootTest注解以模拟真实环境,并强调测试用例的包名应与主程序包名一致。此外,文中提及了在Spring Boot测试中使用@Autowired注解加载配置并执行数据库相关的测试操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

普通环境下的测试用例  运行速度很快因为没有加载额外的代码 

package com.ruoyi.app;

import com.alibaba.fastjson.JSONObject;
import com.easemob.im.server.EMService;
import com.easemob.im.server.api.user.UserApi;
import com.easemob.im.server.model.EMUser;
import com.ruoyi.app.config.EMConfig;
import org.junit.jupiter.api.Test;

import java.util.List;

public class EMTest {

    @Test
    public void main() {

        EMConfig emConfig = new EMConfig();

        EMService service = emConfig.service();

        UserApi userApi = service.user();

//        createUser(service.user(),"tgbd18515065943");


//        Long res = userApi.listAllUsers().count().block();
//        System.out.println(JSONObject.toJSONString(res));
        List<String> data = userApi.listAllUsers().collectList().block();
        System.out.println(JSONObject.toJSONString(data));

    }

 实际开发中我们需要在spring环境下的 调试 比如我们写个关于数据库测试 不可能重新配置一遍吧 太麻烦而且容易出错

通过添加注解@springBootTest 可以实现大多数情况下的 spring环境下的调试

我这里还额外添加了 webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT 意为声明模拟真实环境的调试 因为我这个spring环境中使用了websocket 不使用相对真实的环境会报错的

需要注意的是 测试用例的包名需要和主程序application的包名相同 这样是用于spring扫描吧

运行速度不是很乐观 因为spring内部太复杂 如果一部分代码不加载可能影响功能的使用

package com.ruoyi.app;

import com.ruoyi.app.config.EMConfig;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.List;

@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
class DemoApplicationTests {

	@Autowired
	EMConfig emConfig;
	@Test
	void contextLoads() {


		List<String> list = emConfig.service().user().listAllUsers().collectList().block();

		System.out.println(list);
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值