测试套件使用方法一:无需继承
注意:直接使用@SuiteClasses节点即可执行多个junit用例,如下所示, none_password.class, none_username.class都是写好的junit类,中间用逗号分开即可,代码如下
//执行多个单元测试
@RunWith(Suite.class)
@SuiteClasses({ none_password.class, none_username.class})
public class alltest {
}
测试套件使用方法二:
使用套件testsuite可以一次性执行多个junit测试类,具体用法如下
(测试类继承TestCase): 1、要执行的testJ2.class要继承TestCase 2、testJ2.class中的测试方法要以test(小写)开头(否则不能识别junit,报错No tests found in) 3、如果有前置的一些输入或setup之类的,可以加到套件前面
package testforliuxw;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
public class TestAll{
public static Test suite(){
TestSuite suite = new TestSuite();
suite.addTestSuite(testJ2.class);
suite.addTestSuite(testJmeter.class);
return suite;
}
}
测试套件使用方法三:可以对测试方法进行筛选
Category:Category同样继承自Suit,Category似乎是Suit的加强版,它和Suit一样提供了将若干测试用例类组织成一组的能力,除此以外它可以对各个测试用例进行分组,使你有机会只选择需要的部分用例。首先针对我们的测试方法的分组情况建两个接口类,如下
public interface Inter1 {
}
public interface Inter2 {
}
之后在我们测试方法所在的类对相应的测试方法进行分类
test2类中的所有方法同时属于Inter1和Inter2两组
@Category({Inter1.class,Inter2.class})
public class test2{
@Test
public void testxiao()
{
int i=1;
assertEquals(1, i);
}
}
test1类中的第一个方法属于Inter1组,第二个方法Inter2属于两组
public class test3{
@Category(Inter1.class)
@Test
public void testx()
{
int i=1;
assertEquals(1, i);
}
@Category(Inter2.class)
@Test
public void testxi()
{
int i=1;
assertEquals(2, i);
}
}
新建测试All3Test类,增加了@IncludeCategory限制只运行Inter1的用例,运行截图如下。同样Category还支持@ExcludeCategory注解用于排除用例,用法一致,如下,仅执行了test3类中的第一个测试方法
@RunWith(Categories.class)
@ExcludeCategory(Inter2.class)
@SuiteClasses({
test2.class,
test3.class
})
public class All3Test {
}
来自 <http://lxw198902165221.blog.163.com/blog/static/25895002220164171042455/>