引入了junit为什么还是用不了@Test注解

pom文件明明引入了unit,为什么还是用不了@Test?

配置如下:

<dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>${junit.version}</version>
      <scope>test</scope>
</dependency>
原因:上述scope配置了Junit可用的位置,test表示只能在src下的test文件夹下面才可以使用
解决办法:去掉scope配置就可以了

发现,新建工程时默认的junit包是3.8.1,此时,竟然用不了@Test注解,换成了别的版本比如4.9,才可以使用,不明白咋回事

### 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); } } ```
评论 14
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

生活不只*眼前的苟且

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值