当前位置: 首页 > article >正文

springboot项目的单元测试

文章目录

  • 依赖
  • 编写单测代码
  • 一些注意点

依赖

依赖包含了 JUnit、Mockito、Spring Test 等常用的测试工具

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

编写单测代码

在 test 包下编写,对于普通的业务逻辑,直接常规使用 junit 的 @Test 注解即可

如果需要使用 bean,则如下写法:

@SpringBootTest
@RunWith(SpringRunner.class)
// public class Xxx {
	@Autowired
	private A a;

	@Test
	public void function() {

	}
}

这样可以让其成功注入 bean

一些注意点

Spring 中如果 Parent 类中通过 autowire 方式注入 Child 类,然后我在 springTest 测试方法中去 new 这个 Parent,我可以使用到其中的 Child 吗?
回答:不行,会导致 Child 是 null,报空指针异常,因为 new 关键字创建的实例不是由 Spring 容器管理的,所以 Spring 不会为这个实例注入任何依赖


http://www.kler.cn/a/539482.html

相关文章:

  • DeepSeek训练成本与技术揭秘
  • SpringBoot速成(八)登录实战:未登录不能访问 P5-P8
  • 保姆级教程Docker部署Zookeeper模式的Kafka镜像
  • 生成式聊天机器人 -- 基于Pytorch + Global Attention + 双向 GRU 实现的SeqToSeq模型 -- 下
  • 人工智能浪潮下脑力劳动的变革与重塑:挑战、机遇与应对策略
  • 智能化食品安全管理:AI视频监控在大型商场的技术方案
  • vue.js v-model实现原理
  • 编译QCefView时出现的setlocal命令错误
  • 【含文档+PPT+源码】基于微信小程序的校园志愿者管理系统的设计与实现
  • Linux之安装docker
  • MySQL 数据库的体系架构
  • 【虚幻引擎UE】UE4.23到UE5.5的核心功能变化
  • 【Linux基础】Linux下常用的系统命令
  • redis缓存应用
  • 苹果笔记本安装jmeter
  • React Native 列表组件:FlashList、FlatList 及更多
  • AI刷题-融合目标计算问题
  • 蓝桥杯数组分割
  • Redis持久化的两种方式:RDB和AOF
  • RNA研究的新发现,人类未来可能控制基因遗传
  • 什么是 Elasticsearch?
  • 【什么是拆包和粘包?】
  • 消息中间件之kafka
  • Mac上搭建k8s环境——Minikube
  • Axure原型设计:AI开发平台解决方案及设计案例
  • java手动实现常见数据结构