仅在测试文件夹中运行测试

时间:2017-06-19 11:51:46

标签: java unit-testing junit

我在java中有一个测试项目,它运行在列为该项目的依赖项的项目中找到的所有测试。

@RunWith(ClasspathSuite.class)
@ClassnameFilters({ "com.example.*_Test" })
public class AllRegularTests {
   // nothing to do
}

我的测试通常位于不在test/

中的src/文件夹中

如何让测试套件只显示test/中的课程,而不是src/中的课程?

2 个答案:

答案 0 :(得分:0)

也许您可以使用testSourceDirectory定义来完成它,但我不确定。

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
                <testSourceDirectory>${basedir}/src/main/java/</testSourceDirectory>
                <testClassesDirectory>${project.build.directory}/classes/</testClassesDirectory>
            </configuration>
        </plugin>
    </plugins>
</build>

答案 1 :(得分:0)

这里似乎没有什么问题:

  1. 默认情况下,Maven在查找要运行的测试时使用以下命名约定:Test * * Test * TestCase您的测试类不遵循这些约定。您应该重命名它或配置Maven Surefire插件以使用其他模式进行测试类。
  2. 单元测试代码应放在测试文件夹下,如果将其放在主文件夹下,则无法将其识别为测试类。 例如。
  3. 错误 /my_program/src/main/java/NotTest.java

    正确 /my_program/src/test/java/MyTest.java

    另外,检查您的测试类目录(例如src / test / java)是否对应于属性下pom.xml中属性中列出的目录。花了一段时间才找到它。