//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的属性来定义路径

    希望对后来人有所帮助

  •