自动创建和执行单元测试
Jtest 能够自动建立测试环境,生成测试用例,测试驱动程序和桩函数,执行白盒、黑盒和回归测试。下面本文将依次介绍使用 Jtest 进行白盒测试,黑盒测试和回归测试。
● 白盒测试
在白盒测试中,Jtest 自动检查未捕获的运行时异常,生成运行时异常报告。此处仍以 Eval.java 为例,右键选择 Jtest->Test Using Default Configuration 后,可以看到 Jtest 自动生成了新的项目 Jtest Example.jtest。在该测试项目中,Jtest 为 Eval.java 类自动生成的测试用例类 EvalTest.java,并 Jtest 针对 Eval.java 中的三个方法 add,find,parite 分别构造了一组测试用例。图 10 为 EvalTest.java 的结构。
图 10. EvalTest.java 代码结构
打开 Jtask 窗口,选择 Review Exceptions 节点,查看白盒测试发现的所有未捕捉的运行时异常。以第一条为例,双击“[Line: 106] java.lang.StringIndexOutOfBoundsException: String index out of range: 1”节点,代码编辑器中会自动定位相应代码。
图 11. 查看未捕捉运行时异常
点击代码编辑器左侧黄色图标,打开 Jtest 对该未捕捉的运行时异常的修改建议,手工进行修复。
图 12. 修复未捕捉运行时异常
● 黑盒测试
在黑盒测试过程中,Jtest 为被测类的方法生成大量测试输入参数,自动为每一组输入参数确定预期的输出结果,并以 JUnit 断言形式添加到生成的测试用例代码中。
对 Eval.java 执行 Jtest->Test Using Default Configuration 后,在 Jtask 窗口中的 Review Unit Test Outcomes 节点中查看黑盒测试结果。开发人员可通过对某一测试结果右键单击 Go To 查看 Jtest 生成的测试用例中相应代码及 JUnit 断言。
图 13. 查看黑盒测试结果