当 运行ning maven 测试命令时没有测试 运行

No test run when running maven test command

有一个别人托管的maven项目,有src/main目录和src/test目录。 src/test 目录包含一个以 Test 结尾的 java 文件,我将其称为 ATest.java,而 class ATest 仅包含一个static void main 函数。就像

//omitted

public class ATest {
    public static void main(String[] args) throws Exception {
        BTester.main(null);
        CTester.main(null);
    }
}

其中BTesterCTester都是目录下的文件 src/main/java/<package_path>/tester

当我输入 mvn clean test 时,它显示

[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] 
[INFO] Results:
[INFO] 
[INFO] Tests run: 0, Failures: 0, Errors: 0, Skipped: 0

我尝试了以下方法:

  1. import org.junit.Test 并在 main 函数之前添加 @Test 描述符,但它给出错误,因为 main 是静态的并且它接受参数。然后我尝试将BTester.mainCTester.main移动到另一个函数testmain并在testmain之前添加@Test,但是编译时出错,说我没有捕获例外,即使我添加 throws Exception?

  2. 使用 maven-surefire-plugin,这是我在 pom.xml 文件中的做法 <plugin> <artifactId>maven-surefire-plugin</artifactId> <version>2.20</version> <configuration> <includes> <include>ATest.java</include> </includes> </configuration> </plugin>

但是还是不行。

我错过了什么?我对 Java 不是很熟悉,对 maven 不是很熟悉,所以我现在真的需要一些帮助。谢谢。

  1. 尝试将测试 class 放在 /src/test/java 下。
  2. 你需要你的测试方法。不要将 main 用于使用 JUNIT 的测试方法 请参阅此参考资料:http://www.vogella.com/tutorials/JUnit/article.html