inheritance for @Categories Junit 4.11



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

我有这两个类别:

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() {}
}

现在,假设我想在同一测试套件下运行ABC的所有快速测试类,并仅运行用FastTests类别注释的测试。

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

这样定义您的测试套件:

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

这是官方文档和示例。

相关内容

  • 没有找到相关文章

最新更新