继上篇6.4 执行用例
之前看到了suiteRunner.runTest方法的具体内容就是执行每一个<test>用例然后将执行结果put到m_suiteResults中,那么每一个xml文件中的<test>标签里的用例是怎么执行的呢?具体来看一看,它是调用TestRunner.run方法,run方法主要工作:1.调用配置方法, 2.调用测试方法,3.捕获异常,4.收集结果,5.调用监听器等等...;
/**
* The main entry method for TestRunner.
*
* This is where all the hard work is done:
* - Invoke configuration methods
* - Invoke test methods
* - Catch exceptions
* - Collect results
* - Invoke listeners
* - etc...
*/
public void run() {
beforeRun();
try {
XmlTest test= getTest();
if(test.isJUnit()) {
privateRunJUnit(test);
}
else {
privateRun(test);
}
}
finally {
afterRun();
}
}
然后它又调用privateRun方法:
1.首先拿到<test>节点中的parallel,如果paraller是method或者classes或者instances或者是true则paraller为true