这个功能主要是测试一个testsuite 那些案例执行成功 那些执行失败 ,把失败的显示出来
Visitor 去访问Suite VIsitor的Handler 处理每一个Test的结果
TestSuiteVisitor.Handler handler = new TestSuiteVisitor.Handler() {
public void handleTestCase(Test test) {
TestCase testCase = ( TestCase ) test;
if ( testCase.getName().endsWith( "FailureExpected" ) ) {
names.add( testCase.getClass().getName() + "#" + testCase.getName() );
}
}
public void startingTestSuite(TestSuite suite) {}
public void completedTestSuite(TestSuite suite) {}
};
TestSuiteVisitor visitor = new TestSuiteVisitor( handler );
visitor.visit( suite );
上面的写法比较有意思
单独对接口先实例化 ,然后把对象构建Visitor
内部接口,使的代码更加紧凑,更内聚
//这段代码执行不了 ,collectFailureExpectedTestNames( names, ( TestSuite ) AllTests.unfilteredSuite() );
按照我的理解,应该需要一个TestSuite对象传入