5 - Test methods, Test classes and Test groups
5.1 - Test groups
TestNG容许执行复杂的测试方法分组。不仅可以申明方法属于组,而且可以指定分组 包含其他分组。
然后TestNG可以被调用,并被要求包含某些分组和排除其他的分组。
这将提供怎样划分测试的最大弹性,并且如果想运行两个不同的测试装置不需要重新 编译。
例如,非常普遍的需要至少两个种类的测试
* Check-in tests. 这些测试将在提交新代码之前运行. 它们典型的被要求快速而 且仅仅确认没有基础功能被破坏。
* Functional tests. 这些测试将覆盖所有的软件功能,并且必须运行至少1天,尽 管理想的是连续运行.
代表性的,check-in测试是功能性测试的子集。TestNG容许用非常直接的方式说明这 个。
例如: 可以这样构造测试,申明完整的测试类属于"functest"组,另外两个方法属于 组"checkintest":
public class Test1 {
@Test(groups = { "functest", "checkintest" })
public void testMethod1() {
}
@Test(groups = {"functest", "checkintest"} )
public void testMethod2() {
}
@Test(groups = { "functest" })
public void testMethod3() {
}
}
调用TestNG,使用
<test name="Test1">
<groups>
<run>
<include name="functest"/>
</run>
</groups>
<classes>
<class name="example1.Test1"/>
</classes>
</test>