1

我需要在 Maven 构建过程中运行我的 JUnit 测试用例的一个子集。为此,我决定使用 JUnit 类别。我创建了两个标记接口:UnitTest并将IntegrationTest它们分配给我的一堆 JUnit 测试用例。现在我需要为他们创建一个测试套件:

package ru.hive.parser;

import org.junit.experimental.categories.Categories;
import org.junit.experimental.categories.Categories.IncludeCategory;
import org.junit.runner.RunWith;
import org.junit.runners.Suite.SuiteClasses;

import ru.hive.test.UnitTest;

@RunWith(Categories.class)
@IncludeCategory(UnitTest.class)
@SuiteClasses({ SomeClass.class })
public class ParserTestSuite {

}

问题是@SuiteClasses注释,我需要在其中列出我想在测试套件中加入的所有类,并且我有很多(超过 100 个)这样的类,而且数量还在增长。如果我有办法自动构建类列表,我会很好。我已经在 stackoverflow 上阅读了与我自己类似的所有问题,但没有一个答案符合我的需求,因为我需要使用@RunWith(Categories.class)而不是其他测试运行器。任何想法如何实现这一点?

4

1 回答 1

1

Maven 能够使用类别运行器。见这里:http ://maven.apache.org/surefire/maven-surefire-plugin/examples/junit.html

您还可以使用类路径套件并对其进行修改以使用类别运行器进行在类路径上找到的测试(如果它还没有这样做呢?)。

生成一长串列表@SuiteClasses似乎不值得付出努力。

于 2013-04-18T07:01:18.220 回答