当我通过 maven 执行它们时,我的 JUnit 测试不会失败

My JUnit tests don't fail when I execute them via maven

我在我的测试项目中使用 maven,我想在 Maven 的生命周期中测试 test 选项,但我没有得到我的 JUnit 测试失败。 我在 src.main.java 包中有 class 命名的 Arithmetics,在 src.test.java 包中有 class 命名的 ArithmeticsTest。 当我 运行 ArithmeticsTest 自己使用 IntelliJ Idea 一切正常时,我已经预料到 java.lang.AssertionError,那么为什么当我在 maven 中 运行 测试选项时没有这样的?

控制台输出:


T E S T S


Running ArithmeticsTest Configuring TestNG with: org.apache.maven.surefire.testng.conf.TestNG652Configurator@44e81672 Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.438 sec Results : Tests run: 0, Failures: 0, Errors: 0, Skipped: 0

src.main.java.Arithmetics.java

public class Arithmetics
{
    public static int add(int a, int b)
    {
        return a + b;
    }
}

src.test.java.ArithmeticsTest.java

import org.junit.Test;
import static org.junit.Assert.*;

public class ArithmeticsTest
{
    @Test
    public void testAdd()
    {
        assertEquals(4, Arithmetics.add(2, 3));
    }
}

您已将 Maven 配置为使用 TestNG,但您正在使用 JUnit 注释 (org.junit.Test) 和断言 (org.junit.Assert.*)。

从依赖项中删除 TestNG,它应该可以工作。