- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2016新员工培训-单元测试解读
?首先为我们的体验新建一个 Java 工程 —— coolJUnit。现在需要做的是,打开项目 coolJUnit 的属性页 - 选择“Java Build Path”子选项 - 点选“Add Library…”按钮 - 在弹出的“Add Library”对话框中选择 JUnit,并在下一页中选择版本 4.1 后点击“Finish”按钮。这样便把 JUnit 引入到当前项目库中了。? * * 把它和被测试代码混在一起,这显然会照成混乱,因为单元测试代码是不会出现在最终产品中的。建议您分别为单元测试代码与被测试代码创建单独的目录,并保证测试代码和被测试代码使用相同的包名。这样既保证了代码的分离,同时还保证了查找的方便。遵照这条原则,我们在项目 coolJUnit 根目录下添加一个新目录 testsrc,并把它加入到项目源代码目录中 * * 工具类 WordDealUtil 中的静态方法 wordFormat4DB 是专用于处理 Java 对象名称向数据库表名转换的方法(您可以在代码注释中可以得到更多详细的内容)。下面是第一次编码完成后大致情形: * * 测试方法中要处理的字符串为“employeeInfo”,按照设计目的,处理后的结果应该为“employee_info”。assertEquals 是由 JUnit 提供的一系列判断测试结果是否正确的静态断言方法(位于类 org.junit.Assert 中)之一,我们使用它将执行结果 result 和预期值“employee_info”进行比较,来判断测试是否成功。? * * 绿色的进度条提示我们,测试运行通过了。但现在就宣布代码通过了单元测试还为时过早。 * * 您的单元测试代码不是用来证明您是对的,而是为了证明您没有错。显然,我们的测试才刚刚开始,继续补充一些对特殊情况的测试: * * 再次运行测试。很遗憾,JUnit 运行界面提示我们有两个测试情况未通过测试(图4)——当首字母大写时得到的处理结果与预期的有偏差,造成测试失败(failure);而当测试对 null 的处理结果时,则直接抛出了异常——测试错误(error)。显然,被测试代码中并没有对首字母大写和 null 这两种特殊情况进行处理,修改如下: * * 在编写单元测试的过程中,您会发现在大部分的测试方法在进行真正的测试之前都需要做大量的铺垫——为设计准备 Fixture 而忙碌。这些铺垫过程占据的代码往往比真正测试的代码多得多,而且这个比率随着测试的复杂程度的增加而递增。当多个测试方法都需要做同样的铺垫时,重复代码的“坏味道”便在测试代码中弥漫开来。这股“坏味道”会弄脏您的代码,还会因为疏忽造成错误,应该使用一些手段来根除它。 * * * * 上例代码中,我们将前文提到的测试类 TestWordDealUtil 放入了测试套件 RunAllUtilTestsSuite 中,在 Eclipse 中运行测试套件,可以看到测试类 TestWordDealUtil 被调用执行了。测试套件中不仅可以包含基本的测试类,而且可以包含其它的测试套件,这样可以很方便的分层管理不同模块的单元测试代码。 * * ?很明显,代码瘦身了。在静态方法 words 中,我们使用二维数组来构建测试所需要的参数列表,其中每个数组中的元素的放置顺序并没有什么要求,只要和构造函数中的顺序保持一致就可以了。现在如果再增加一种测试情况,只需要在静态方法 words 中添加相应的数组即可,不再需要复制粘贴出一个新的方法出来了。? * * 不过,在使用 Ant 运行 JUnit 之前,您需要稍作一些配置。打开 Eclipse 首选项界面,选择 Ant - Runtime 首选项(见图7),将 JUnit 4.1 的 JAR 文件添加到 Classpath Tab 页中的 Global Entries 设置项里。记得检查一下 Ant Home Entries 设置项中的 Ant 版本是否在 1.7.0 之上,如果不是请替换为最新版本的 Ant JAR 文件 * * Target junit report 是 Ant 构建脚本中的核心内容,其它 target 都是为它的执行提供前期服务。Task junit 会寻找输出目录下所有命名以“Test”开头的 class 文件,并执行它们。紧接着 Task junitreport 会将执行结果生成 HTML 格式的测试报告放置在“report folder”下。? * * 现在执行一次全面的单元测试变得非常简单了,只需要运行一下 Ant 构建脚本,就可以走完所有流程,并能得到一份详尽的测试报告。您可以在 Ant 在线手册 中获得上面提及的每一个 Ant 内置 task 的使用细节。? 整个课件实际
您可能关注的文档
- 2016年高考北京卷理综化学试题-最清晰版解读.doc
- 2016成都三诊讲评解读.ppt
- 2016形象设计-男士风格诊断解读.ppt
- 2016执业中药师药一常用中药图谱解读.doc
- 2016技术总结(电力电缆施工)解读.doc
- 2016急诊人文与沟通解读.ppt
- 2016政治必修三文化与生活四单元复习课件解读.ppt
- 2016教师基本功竞赛:即兴演讲材料(最新)解读.doc
- 2016散文阅读课件解读.ppt
- 2016文化强国解读.ppt
- 2016新苏教版一上语文识字4解读.ppt
- 2016春四三家长会解读.ppt
- 2016春华师大版八年级数学下册:第20章数据的整理与初步处理20.1.3加权平均数解读.ppt
- 2016晨读初稿解读.doc
- 2016春高中语文(苏教版选修唐诗宋词选读)教学课件:《菩萨蛮_小山重叠金明灭》(温庭筠)(共43张PPT)解读.ppt
- 2016春八年级物理全册9.3物体的浮与沉第2课时浮沉条件的应用习题课件(新版)沪科版解读.ppt
- 2016春高中语文(苏教版选修唐诗宋词选读)教学课件:《商山早行》(温庭筠)(共41张PPT)解读.ppt
- 2016春七年级地理下册湘教版:第八章走近国家第七节澳大利亚课件解读.ppt
- 2016广州市普高一模地理图解读.ppt
- 2016春高中语文(苏教版选修唐诗宋词选读)教学课件:《踏莎行》(秦观)(共43张PPT)解读.ppt
最近下载
- 无人机驾驶员技能考核内容结构表二级.pdf VIP
- 中国康养产业消费趋势报告(2025).pdf VIP
- 小区消防设施维修方案.docx VIP
- 无人机驾驶员技能考核内容结构表一级.pdf VIP
- 第三单元 珍爱我们的生命 测试卷(含答案)道德与法治七年级上册(2024).doc VIP
- TSIOT 803-2020 虚拟现实用户界面设计规范.pdf VIP
- 医院保洁员感控培训课件.pptx VIP
- 【完整正版高清】T_CFLP 0016-2023《国有企业采购操作规范》【2023修订版】.doc VIP
- 2025年一级建造师之一建民航机场工程实务考试题库【历年真题】.docx VIP
- Reading explorer-F级教学精品课件-U3A.pptx VIP
文档评论(0)