0

我想知道是否有任何方法可以将一组测试类收集在一起并运行这些测试常见的一类测试。我将尝试用一个例子来解释:

我有这两个类别:

public interface Slowtests{}
public interface Fasttests{}

以及以下类和方法:

@Category({SLowTests.class, FastTests.class})
Class A extends TstBase {

    @Category({SLowTests.class})
    void a1() {}

    @Category({FastTests.class})
    void a2() {}

    @Category({SLowTests.class, FastTests.class})
    void a3() {}
}

@Category({SLowTests.class, FastTests.class})
Class B extends TstBase {

    @Category({SLowTests.class})
    void b1() {}

    void b2() {}
}

@Category({SLowTests.class, FastTests.class})
Class C extends TstBase{
    void c1() {}
    void c2() {}
}

现在假设我想在同一个测试套件中和下运行所有​​快速测试类,并且只运行带有类别注释A的测试。BCFastTests

希望我的问题足够清楚。请告知我该怎么办?

4

1 回答 1

1

像这样定义您的测试套件:

@RunWith(Categories.class)
@Categories.IncludeCategory(FastTests.class)
@Suite.SuiteClasses( /* Your test classes here */)
public class FastTestSuite {
}

这是官方文档和示例

于 2015-05-03T20:52:28.470 回答