parasoft Jtest 使用教程:创建并使用参数化测试用例(上)
本次教程的内容是怎样生成和使用参数化的JUnit测试用例,一起来看看吧。
进行之前,需要创建Jtest Example工程并测试用例参数化许可。可详见之前教程。
详细步骤
- 复习用户定义的测试用例Jtest Example> examples.nbank>AccountTest.java.的可用性。
- 通过选择Jtest Example> examples.nbank>Account.java,运行测试,然后运行"Run Unit Tests"测试配置。
- 为了增加覆盖率并且寻找额外的问题,参数化测试用例如下所示能够达到自动生成测试数据传递给现存测试用例:
a、右击Jtest Example> examples.nbank>AccountTest.java> AccountTest>testApply(), 然后选择 Jtest> Extract Parameterized Test Case。
b、在测试用例参数化向导中,选择Generate Excel spreadsheet with heuristics and corner case values.这样告诉Jtest生成corner用例值以及在运行时不同的源输入,并且生成具有所有测试数据的Excel电子表格。
c、点击Next。
d、点击Finish。
打开AccountTest.java来看参数化的结果。
双击Jtest Example> AccountTest.xls打开Excel文件。或者你安装了Excel,右击节点,然后选择Open With>System Editor。
通过选择Jtest Example> examples.nbank>Account.java运行参数化测试,然后运行”Run Unit Tests”测试配置。
相似地,传递nulls时引发NullPointerExceptions。
首先,在第8行,null作为名字来传递,将引发NullPointerException。
第二,在第18行,null作为社会保险号,将引发NullPointerException。
第三个NullPointerException指向代码的逻辑错误。在Customer类中调用equals方法时引发空指针异常,因为field_ssn是空。如果去查看代码,会发现field_ssn被初始化为null。在Customer的构造函数中再没有将此变量初始成其它的值。其结果是,它的值仍然为null,在equals方法中解引用时导致空指针异常。这是代码中的一个缺陷需要修复。同样的缺陷能够被Jtest BugDetective或者自动化的单元测试发现。
此练习向你展示了怎样促使测试用例参数化通过一个手工编写的JUnit测试用例来自动生成测试数据。或者,你可以通过编辑Excel电子表格手动添加测试数据,或者将Jtest指向你自己的测试数据。
以上就是本次教程的内容了,你也可以申请jtest试用>>,亲自动手试试哦。
查看更多parasoft测试产品
获取更多活动信息