JUnit的新版本发布了,它加入了一个Runner:Categories,可以只跑特定分类的测试用例。
例如我们定义了两个分类接口:
然后,我们在某些测试方法前用@Category标记指示该测试方法的类别:
最后,我们使用@Runwith来指定使用Categories测试引擎,并且使用@IncludeCategory指定包括跑哪些测试用例,就可以了:
详细参考请参阅官网:
[url]http://kentbeck.github.com/junit/doc/ReleaseNotes4.8.html[/url]
例如我们定义了两个分类接口:
public interface FastTests { /* category marker */ }
public interface SlowTests { /* category marker */ }
然后,我们在某些测试方法前用@Category标记指示该测试方法的类别:
public class A {
@Test
public void a() {
fail();
}
@Category(SlowTests.class)
@Test
public void b() {
}
}
@Category({SlowTests.class, FastTests.class})
public class B {
@Test
public void c() {
}
}
最后,我们使用@Runwith来指定使用Categories测试引擎,并且使用@IncludeCategory指定包括跑哪些测试用例,就可以了:
@RunWith(Categories.class)
@IncludeCategory(SlowTests.class)
@SuiteClasses( { A.class, B.class }) // Note that Categories is a kind of Suite
public class SlowTestSuite {
// 会运行 A.b 和 B.c 方法, 但是不会执行 A.a
}
@RunWith(Categories.class)
@IncludeCategory(SlowTests.class)
@ExcludeCategory(FastTests.class)
@SuiteClasses( { A.class, B.class }) // Note that Categories is a kind of Suite
public class SlowTestSuite {
// 会运行 A.b, 但是不会执行 A.a 或 B.c
}
详细参考请参阅官网:
[url]http://kentbeck.github.com/junit/doc/ReleaseNotes4.8.html[/url]