6. 执行testng的一系列操作之执行
//
// Run
//
try {
result.run();
}
catch(TestNGException ex) {
if (TestRunner.getVerbose() > 1) {
ex.printStackTrace(System.out);
}
else {
error(ex.getMessage());
}
result.setStatus(HAS_FAILURE);
}
run方法
/**
* Run TestNG.
*/
public void run() {
//6.1一系列初始化工作
initializeSuitesAndJarFile();
initializeConfiguration();
initializeDefaultListeners();
initializeCommandLineSuites();
initializeCommandLineSuitesParams();
initializeCommandLineSuitesGroups();
//6.2必要条件检查
sanityCheck();
List<ISuite> suiteRunners = null;
//6.3执行监听器-IExecutionListener*开始
runExecutionListeners(true /* start */);
runSuiteAlterationListeners();
m_start = System.currentTimeMillis();
//6.4执行用例
suiteRunners = runSuites();
m_end = System.currentTimeMillis();
//6.5生成报告
if(null != suiteRunners) {
generateReports(suiteRunners);
}
//6.6结束
runExecutionListeners(false /* finish */);
//6.7 No test
if(!m_hasTests) {
setStatus(HAS_NO_TEST);
if (TestRunner.getVerbose() > 1) {
System.err.println("[TestNG] No tests found. Nothing was run");
usage();
}
}
}
整体的了解了执行用例的逻辑,分为大概三个步骤:1.初始化和条件检查,2.执行用例,3.生成报告。而初始化又大概分为5个步骤,这5个步骤都是做什么的,明天继续学习