代码之家  ›  专栏  ›  技术社区  ›  Michel Feinstein

如何让马文和朱尼特打得很好?

  •  0
  • Michel Feinstein  · 技术社区  · 5 年前

    Maven Surefire插件只运行以单词开头或结尾的测试 test . 在Junit处理这件事确实很麻烦,原因有两个:

    1-我已经需要补充 @Test 在我所有的测试方法中,也必须附加单词 测试 是重复的。

    2-在JUnit中,如果我想禁用某个测试,我只需标记它 @Disabled 因此,如果我使用Surefire,我还必须重命名测试方法。

    有什么方法可以确保火和朱尼特玩得很好吗?这样,只需运行标记的 @测试 自动忽略 @残疾人 方法?


    目前我的 pom.xml 如下所示(仅包括与测试相关的项以节省空间):

    <packaging>jar</packaging>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>
    
    <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-api</artifactId>
        <version>5.3.2</version>
        <scope>test</scope>
    </dependency>
    
    <build>
        <pluginManagement>
            <plugin>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.22.1</version>
            </plugin>
        </pluginManagement>
    </build>
    
    1 回复  |  直到 5 年前
        1
  •  1
  •   Michel Feinstein    5 年前

    要用Maven运行Junit Jupiter测试,必须使用 junit-jupiter-engine 而不是 junit-jupiter-api .

    <dependencies>
        [...]
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <version>5.3.2</version>
            <scope>test</scope>
        </dependency>
        [...]
    </dependencies>
    

    您可以添加JUnitJupiter API作为补充工件。此外,您应该至少使用Maven Surefire插件2.22.1+