invocation
使用TestNG进行性能测试/重复执行
来源:http://www.51testing.com/html/18/n-131218.html
TestNG提供了丰富的Annotation为测试提供更强大,更细致的控制,比如用于并发测试的invocationCount和threadPoolSize。
@Test(invocationCount=100,threadPoolSize=5) public void testMethod(){}
invocationCount
设定的是这个方法的执行次数.
threadPoolSize
这个属性表示的是开启线程数的多少.
例子中,
一、 有明确的执行次数的场景,如这个方法要求并发执行1w次,这个很简单,只要将invocationCount设定为1w就可以了,线程数可以根据实际情况调整。
二、 要执行一段时间,如这个方法并发执行2小时,这时我们可以稍微调整一下程序,将invocationCount与threadPoolSize设为一致,方法中增加对时间的控制:
@Test(invocationCount = 25, threadPoolSize = 25)
public void testMethod() throws Exception {
long start = System.currentTimeMillis();
while (true) {
doSomeThing();
if ((System.currentTimeMillis() - start) > 3000 * 20) {
break;
}
}
}