我有一些继承的TestNG代码,使用@Factory创建测试用例。一切正常。 但是,即使从@Factory方法返回时测试用例肯定是有序的,它们也不会按此顺序执行。我想执行它们以便于调试(如果开发人员将测试保持在一起而不是一些随机顺序,那么开发人员会更容易)。
有一种简单的方法吗?
我正在使用TestNG 5.9,但如果需要可以升级。
感谢。
答案 0 :(得分:2)
我目前正在努力做同样的事情。我发现以下可能对你有帮助:
http://beust.com/weblog2/archives/000479.html
http://testng.org/doc/documentation-main.html#methodinterceptors
如果我为我的问题找到某种解决方案,我可以在这里添加一些代码。
修改强>
我正在检查2种TestClasses应该按照1 2 1 2 1 2而不是1 1 1 2 2 2的顺序执行,如TestNG所做的那样
public class ExampleInterceptor implements IMethodInterceptor {
@Override
public List<IMethodInstance> intercept(List<IMethodInstance> paramList, ITestContext paramITestContext) {
//You have to watch out to get the right test if you have other tests in oyur suite
if (!paramITestContext.getName().equals("UnwantedTest")) {
for (IMethodInstance iMethodInstance : paramList) {
Object[] obj = iMethodInstance.getInstances();
if (obj[0] instanceof Class1) {
//DO your stuff like putting it in a list/array
} else {
//DO your stuff like putting it in a list/array with the other Testclasses
}
}
}
List<IMethodInstance> result = new ArrayList<IMethodInstance>();
//Put the results in the results
}
return result;
}
}
希望有所帮助。如果你有问题,请问。