//20220302
写在前面:今天写HBase客户端的时候,在新系统上创建的相关Maven项目,然后导入junit包,导入之后发现还是无法使用@Test测试模块,遂在此记录下解决方法
引入junit Maven依赖代码:
<!-- https://mvnrepository.com/artifact/junit/junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.1</version>
<scope>test</scope>
</dependency>
尝试使用@Test(在idea中)
解决办法:将pom文件中junit依赖中的scope标签去掉(其中有test的那个),去掉之后在执行文件中引入org.junit.Test包之后就可以使用了
scope标签详解
来源:链接在此
scope的分类
1.compile:默认值 他表示被依赖项目需要参与当前项目的编译,还有后续的测试,运行周期也参与其中,是一个比较强的依赖。打包的时候通常需要包含进去
2.test:依赖项目仅仅参与测试相关的工作,包括测试代码的编译和执行,不会被打包,例如:junit
3.runtime:表示被依赖项目无需参与项目的编译,不过后期的测试和运行周期需要其参与。与compile相比,跳过了编译而已。例如JDBC驱动,适用运行和测试阶段
4.provided:打包的时候可以不用包进去,别的设施会提供。事实上该依赖理论上可以参与编译,测试,运行等周期。相当于compile,但是打包阶段做了exclude操作
5.system:从参与度来说,和provided相同,不过被依赖项不会从maven仓库下载,而是从本地文件系统拿。需要添加systemPath的属性来定义路径
希望对后来人有所帮助