• JUNIT5(maven配置)


    JUNIT5开始测试的写法发生了很大的改变

    按照官网的说法现在的junit变成了下面的这个样子

    JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage

    基本的测试方法都放到了JUnit Jupiter 里边

    所以如果代码写成下面这个样子在maven里是跑不了的

    package FirstJunit.JTest;
    
    import static org.junit.Assert.*;
    
    import org.junit.jupiter.api.BeforeAll;
    import org.junit.jupiter.api.BeforeEach;
    import org.junit.jupiter.api.Test;
    import org.junit.runner.RunWith;
    import org.junit.platform.runner.JUnitPlatform;
    
    @RunWith(JUnitPlatform.class)
    public class FirstJUnit5Tests {
        @Test
       public  void myFirstTest() {
            assertEquals(2, 1 + 1);
        }
        
        @BeforeAll
        static void initAll() {
            System.out.print("fff");
        }
    
        @BeforeEach
        public void init() {
            System.out.print("start init");
        }
    }

    所以maven的plugin要做出一定的修正

    下面这个来自于junit5的官方说明,主要是要修改maven-surefire-plugin中的内容将junit-platform-surefire-provider给包含进去

      <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <java.version>1.8</java.version>
        <junit.version>4.12</junit.version>
        <junit.jupiter.version>5.0.2</junit.jupiter.version>
        <junit.vintage.version>${junit.version}.2</junit.vintage.version>
        <junit.platform.version>1.0.2</junit.platform.version>
      </properties>
     <build>
            <plugins>
                <plugin>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.19.1</version>
                    <configuration>
                        <includes>
                            <include>**/Test*.java</include>
                            <include>**/*Test.java</include>
                            <include>**/*Tests.java</include>
                            <include>**/*TestCase.java</include>
                        </includes>
                        <properties>
                            <!-- <includeTags>fast</includeTags> -->
                            <excludeTags>slow</excludeTags>
                            <!--
                            <configurationParameters>
                                junit.jupiter.conditions.deactivate = *
                            </configurationParameters>
                            -->
                        </properties>
                    </configuration>
                    <dependencies>
                        <dependency>
                            <groupId>org.junit.platform</groupId>
                            <artifactId>junit-platform-surefire-provider</artifactId>
                            <version>${junit.platform.version}</version>
                        </dependency>
                    </dependencies>
                </plugin>
            </plugins>
    </build>

    这样在运行maven test的时候就可以进行正常的测试。

    还有就是如果在类的开头不写@RunWith(JUnitPlatform.class)的话 会造成 junit插件的不识别,导致 run as junit test 选项不出现。

    配置方面就是这个样子。

  • 相关阅读:
    2020牛客暑期多校训练营(第三场)
    2020牛客暑期多校训练营(第二场)
    C# 获取枚举类型中所有描述信息 Xinner
    XPath Xinner
    02kubeadm安装
    thinkphp6:访问redis6(thinkphp 6.0.9/php 8.0.14)
    npm8.3.0 安装@vue/cli 4.5.15
    linux(ubuntu 21.10): php8.0.14:安装phpredis以访问redis(phpredis5.3.5)
    linux(ubuntu21.10):apt方式安装redis6.0.15
    阿里云何万青:南坡VS北坡,阿里云高性能计算行业实践
  • 原文地址:https://www.cnblogs.com/spchenjie/p/8016833.html
Copyright © 2020-2023  润新知