WsztRush

junit

打算定期看一个开源代码,听之前同事的建议于是从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(); // 清理
    }
}