maven测试不运行测试

时间:2012-03-21 14:12:34

标签: java maven junit m2eclipse

我的日食中有一个maven项目(m2eclipse) 我想写一些简单的测试:

public class AppTest {
    @Test
    public void test() {
        fail("Not yet implemented");
    }
}

如果我在Eclipse中运行Maven测试(Run - > Run As - > Maven测试),它会产生预期的输出:

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running app.AppTest
Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.076 sec <<< FAILURE!

Results :

Failed tests:   test(app.AppTest): Not yet implemented

Tests run: 1, Failures: 1, Errors: 0, Skipped: 0

但是,如果我在我的控制台中通过“mvn test”尝试相同的操作,则测试不会执行:

-------------------------------------------------------
 T E S T S
-------------------------------------------------------

Results :

Tests run: 0, Failures: 0, Errors: 0, Skipped: 0

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------

如何通过mvn test运行测试?

3 个答案:

答案 0 :(得分:2)

确保您的测试用例位于src/test/java目录中,而不是src/main/java中。 surefire插件只会运行位于src/test/java下的测试用例。

在Eclipse中创建此目录,在那里移动测试用例,然后执行 Maven&gt;更新项目配置,它将在Eclipse中添加src/test/java作为源文件夹。

从命令行运行Maven时,它还应该显示它正在编译测试类。确保发生这种情况,例如

[INFO] [resources:testResources {execution: default-testResources}]
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 7 resources
[INFO] [compiler:testCompile {execution: default-testCompile}]
[INFO] Compiling 31 source files to /dummy-project/target/test-classes

答案 1 :(得分:0)

您可以尝试以下命令:

mvn clean generate-sources install

答案 2 :(得分:0)

对于遇到同样问题但在本文中找不到答案的人(这是Google的最高结果),请检查您导入的@Test注释。

我有import org.junit.Test;听起来不错,但是我的测试没有运行。尝试过import org.testng.annotations.Test;,它可以正常工作。

由于TestNG正在运行测试,因此似乎很明显...