多层架构下的单元测试_第1页
多层架构下的单元测试_第2页
多层架构下的单元测试_第3页
多层架构下的单元测试_第4页
多层架构下的单元测试_第5页
免费预览已结束,剩余20页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、多层架构下的单元测试Agenda单元测试的好处单元测试适合的场所单元测试工具比较容易测试的架构MockTDD好的单元测试所具有的品质 技术研发部2单元测试的好处保证代码功能和我们的预期一致测试所有边界情况越来越完善的bug库有了单元测试,尽情重构吧欢迎变化。新增修改功能?不怕,有单元测试使程序降低耦合所有的一切,目的只有一个:提高质量不写单元测试的借口编写单元测试太花时间了出来混的,迟早是要还的。运行测试的时间太长了测试代码并不是我的工作代码太复杂了,依赖太多,不能做单元测试哪些项目最适合单元测试平台类库性质的项目规模大的,需要长时间维护的正确性要求极高的项目哪些代码需要测试?UI层UI Bu

2、siness业务层数据层是否需要测试私有方法?我的经验:只需要测公开方法.net下单元测试工具NUnitMSTestNCoverTest-DrivenMockSample:一个简单的单元测试例子看代码,瞄一眼就可以了!单元测试的前提程序层次结构清楚层间解耦外部依赖小最最糟糕的被测方法业务代码混在UI层方法中数据库操作混在业务代码中外部依赖很多一个比较容易测试的架构该架构的优点横向开发各层可各自为政低耦合:如果用IOC的话,则编译时无耦合安全的数据层:ORMapping开始我们的测试之旅UI层的测试不需要具体的业务实现可以看到在不同业务下的UI表现关键字: 静态Mock请看代码示例开始我们的测试

3、之旅业务层的测试不需要具体的数据层不需要UI层来验证关键字: 动态Mock请看代码示例Mock是否必须?业务层的测试,为了去除依赖,mock是必须的。但在使用每一个Mock前,请想想,是否可以通过重构,摆脱这个依赖。流行的TDD到底是先有代码,后有测试;还是先有测试,再有代码?这是个问题!据我的经验,一上来啥代码都没有,就写测试,估计就是两眼一抹黑,对着屏幕发愣。个人建议:先定好接口,然后对于具体实现,就可以使用TDD流行的TDD让我们TDD一把!请看代码示例好的单元测试所具有的品质:自动化关键字:人工干预(比如需要网络连接、数据库等),通过Mock,去除干预。关键字:DailyBuild 。 。(有机会再讲)请看邮件样例好的单元测试所具有的品质:彻底的关键字:测试覆盖率(Ncover),根据情况制定覆盖率标准。关键字:维护Bug请看覆盖率示例好的单元测试所具有的品质:可重复、独立的关键字:各测试独立,可随意重复执行。每个测试每次执行应该结果一致。比如:有些新增操作,不能仅仅支持一遍好的单元测试所具有的品质:测试代码大概有多少?如果你被测试的代码是2w行,那么你的测试代码不应该少于2w行!甚至更多!好的单元测试所具有的品质:对测试进行测试在修正bug的同时,一定要同时改进测试代码验明bug编写一个失败的测试,证明bug的存在修改代码,让测试通过验证其他所有测试,应该都可以通过(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论