打算定期看一个开源代码,听之前同事的建议于是从junit开始:
TestRunner加载和运行测试,入口类。 TestDecorator对Test进行包装。 TestSetup对Test进行包装,增加初始化、清理接口。
TestListener监听器,在发生对应的动作的时候进行调用:
public interface TestListener {
public void addError(Test test, Throwable t);
public void addFailure(Test test, AssertionFailedError t);
public void endTest(Test test);
public void startTest(Test test);
}
TestSuite是TestCase的组合: ActiveTestSuite创建一个新的线程来执行:
public class TestSuite {
private Vector fTests = new Vector(10);
}
</pre>
TestResult
public class TestResult{
protected List fFailures;
protected List fErrors;
protected List fListeners;
}
</pre>
TestCase
public void runBare() throws Throwable {
setUp(); // 初始化
try {
runTest(); // 通过反射调用方法
} finally {
tearDown(); // 清理
}
}