文章目录
前言
由于框架项目的使用,会有很多模块,所以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的范围不允许,我们是无法使用的。