Maven项目之Junit中@Test无法使用

2022-11-01 10:27:16

文章目录


前言

由于框架项目的使用,会有很多模块,所以Junit中的@Test注解是我们比较常用的注解,但是其中有一些我们需要注意的问题


在使用前我们往往会导入以下的依赖包:

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

这时候我们去代码中使用@Test,会发现报红,idea的提示中也没有@Test,这是为什么呢?
在这里插入图片描述
其主要原因在于,我们在手动添加Junit包时,会自动弹出scope标签,如下图所示:
在这里插入图片描述
而这里的scope对@Test的使用范围做出了限制:

  • compile : 缺省值,适用于所有阶段,会随着项目一起发布
  • provided :类似于compile,期望jdk,容器或使用者会提供这个依赖,如servlet.jar。
  • runtime :只在运行时使用,如JDBC驱动,适用于运行和测试阶段。
  • test :只在测试时使用,用于编译和运行代码,不会随项目发布。
  • system : 类似于provided,需要显式提供包含依赖的jar包,Maven不会在Repository中查找它。
    所以,当我们使用test时,如果scope的范围不允许,我们是无法使用的。
  • 作者:红莲灭
  • 原文链接:https://blog.csdn.net/qq_43686699/article/details/119116228
    更新时间:2022-11-01 10:27:16