打算定期看一个开源代码,听之前同事的建议于是从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 VectorfTests = new Vector (10); } </pre> TestResult public class TestResult{ protected ListfFailures; protected List fErrors; protected List fListeners; } </pre> TestCase public void runBare() throws Throwable { setUp(); // 初始化 try { runTest(); // 通过反射调用方法 } finally { tearDown(); // 清理 } }