Maven依赖junit @Test报错

本文探讨了在项目中正确引入JUnit依赖的方法,解释了如何避免@Test注解报错及解决空指针异常的问题。强调了正确标记测试文件夹的重要性,确保junit的jar包能在TestSourcesRoot目录下正常调用。

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

<dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>test</scope>
</dependency>

在这里插入图片描述
在使用 @Test 时报红,明明添加了依赖作用范围 test 的呀,难道这里错了?,把 scope 注释后,倒是不报红了,可是运行空指针…(姿势不对当然不行了)

小伙伴们有没有发现那里错啦?

在这里插入图片描述
测试文件夹标记使用错啦,test 表示junit的jar包只能在标记为 Test Sources Root 的文件夹下被调用,调整一下就OK了。
在这里插入图片描述

### JUnit 5 中 `@Test` 注解不起作用的原因分析 在 JUnit 5 中遇到 `@Test` 注解不生效的情况,通常是因为缺少必要的依赖项或配置不当。为了使 `@Test` 正常工作,确保项目中包含了 JUnit Jupiter API 和 Engine 的依赖。 对于 Maven 项目,在 pom.xml 文件中应加入如下依赖: ```xml <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> <version>5.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> <version>5.8.1</version> <scope>test</scope> </dependency> ``` 此外,IDE 需要支持 JUnit 5 测试运行器。部分 IDE 可能默认只安装了旧版本的插件,需手动更新至最新版以兼容 JUnit 5[^3]。 编写测试案例时,请确认导入的是 org.junit.jupiter.api.Test 而不是 org.junit.Test: ```java import static org.junit.jupiter.api.Assertions.assertEquals; import org.junit.jupiter.api.Test; public class ExampleTests { @Test void simpleTest() { assertEquals(2, 1 + 1); } } ``` 当使用 Spring Boot 进行集成测试时,除了基本的 JUnit 5 设置外,还需引入 spring-boot-starter-test 并添加相应注解来加载应用上下文: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> ``` 以及在测试类上声明: ```java import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; @SpringBootTest class ApplicationTests { @Autowired private SomeService someService; @Test void contextLoads() { assertNotNull(someService); } } ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值