程序运行顺序:
初始化阶段:
JUnit的入口点在 junit.textui.TestRunner 的mian
方法,在这个方法中,首先创建一个 TestRunner 实例 aTestRunner ,然后 main 函数中主体工作函数调用了start()方法。
start()方法,首先对命令行参数进行解析:参数“ -wait ”(等待模式,测试完毕用户手动返回)、“ -c ”,“ -v ”(版本显示)。 -m 参数用于测试单个方法。这是 JUnit 提供给用户的一个非常轻便灵巧的测试功能,但是在一般情况下,用户会像本文前述那样在类名命令行参数。
- 解析完参数,判断参数方法是否为空,如果不空执行runSingleMethod()。
代码流程:
- runSingleMethod
runSingleMethod()方法,传入testCase,使用反射机制,初始化testCase的特定类,并且确定其类必须是testCase的子类。
然后调用TestSuite.createTest方法,同样使用反射机制,使用的testCase类的构造方法,创建test新实例并返回。
- creatTest方法的实现方式