快速业务通道

JBuilder 2005单元测试之捆绑多个用例 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-25

JBuilder 2005单元测试之捆绑多个用例

时间:2009-10-30 天极

目前我们只为Subsection类生成了一个测试用例,在这节里,我们按照前述的方法,通过Test Case向导为StringUtils类创建一个测试用例代码框架,并编写测试方法,然后将这两个测试用例捆绑组合在一个测试套件中一起运行。

选中StringUtils类,通过File->New..->Test,双击Test Case图标为StringUtils类的string2Array()方法创建测试用例,接受默认的测试用例类名TestStringUtils。

在向导生成的测试用例代码框架中,删除测试固件(因为是静态方法,没有必要用固件),即删除StringUtils的成员变量声明,setUp()和tearDown()方法。并在类中定义一个isArrayEquals()的方法,删除向导生成的testString2Array()测试方法体中的内容,编写自己的测试代码,其最终代码如下所示:

代码清单 错误!文档中没有指定样式的文字。TestStringUtils:StringUtils类的测试用例

1.package chapter25; 2.import junit.framework.*; 3.public class TestStringUtils extends TestCase 4.{ 5.public void testString2Array() { 6.String str1 = null, str2 = "", str3 = "a", str4 = "a,b,c",str5 = ",a,b,"; 7.String[] arr1 = null, arr2 = {""}, arr3 = {"a"}, arr4 = {"a", "b", "c"}, 8.arr5 = {"", "a", "b", ""}, trimArr5 = {"a", "b"}; 9. 10.assertNull(StringUtils.string2Array(str1, '','', false)); 11.assertTrue(isArrayEquals(arr1, StringUtils.string2Array(str1, '','', false))); 12.assertTrue(isArrayEquals(arr2, StringUtils.string2Array(str2, '','', false))); 13.assertTrue(isArrayEquals(arr3, StringUtils.string2Array(str3, '','', false))); 14.assertTrue(isArrayEquals(arr4, StringUtils.string2Array(str4, '','', false))); 15.assertTrue(isArrayEquals(arr5, StringUtils.string2Array(str5, '','', false))); 16.assertTrue(isArrayEquals(trimArr5, StringUtils.string2Array(str5, '','', true))); 17.assertFalse(isArrayEquals(StringUtils.string2Array(str5, '','', false), 18.StringUtils.string2Array(str5, '','', true))); 19.} 20. 21.//判断两个字符数组是否相等 22.private boolean isArrayEquals(String[] arr1, String[] arr2) { 23.if (arr1 == null || arr2 == null) { 24.if (arr1 == null && arr2 == null) { 25.return true; 26.} else { 27.return false; 28.} 29.} else if (arr1.length != arr2.length) { 30.return false; 31.} else { 32.for (int i = 0; i < arr1.length; i++) { 33.if (!arr1[i].equals(arr2[i])) { 34.return false; 35.} 36.} 37.return true; 38.} 39.} 40.}

虽然JUnit框架提供了许多assertEquals()的重载方法,但却没有入参是两字符串数组的assertEquals()重载方法,所以我们需要自己定义一个判断两字符串数组是否相同的方法:isArrayEquals(),如第22~39行所示。

在testString2Array()方法中,我们提供了覆盖多数情况的字符串测试点(特殊转换字符串和其目标值),如第6~8行所示。尔后调用assertXxx()设置测试规则。你也可以像上一节中的TestSubsection测试用例一样运行它。

注意:

如果你在内容窗格TestStringUtils文件标签上右击,发现弹出的菜单中只有Run Test using "TestSubsection"时,请在Project->Project Properties...->Run->在Run设置页中取消TestSubsection运行设

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号