NET单元测试艺术
¥
20.3
4.1折
¥
49
九五品
仅1件
作者Roy Osherove
出版社清华大学出版社
ISBN9787302269168
出版时间2012-01
版次1
装帧平装
开本16开
纸张胶版纸
页数297页
字数99999千字
定价49元
上书时间2024-07-02
商品详情
- 品相描述:九五品
- 商品描述
-
基本信息
书名:NET单元测试艺术
定价:49.00元
作者:Roy Osherove
出版社:清华大学出版社
出版日期:2012-01-01
ISBN:9787302269168
字数:434000
页码:297
版次:1
装帧:平装
开本:12开
商品重量:
编辑推荐
内容提要
《.NET单元测试艺术》针对这个重要主题展开讨论,引导读者从简单的测试开始,逐渐过渡到如何写出可维护、可读、可信赖的测试。同时,还涉及mock,stub和框架(如TypemockIsolator和RhinoMocks)等高级主题,旨在帮助读者逐步掌握高级的测试模式和结构,高效地为遗留代码和甚至根本不可测试的代码编写测试。书中还讨论了测试数据库时需要的工具和其他技术。本书为广大.NET开发人员而写,但其他读者也可以从中受益。
目录
《.net单元测试艺术》第i部分 入 门第1章 单元测试的基本知识1.1 单元测试——传统定义1.1.1 编写“单元测试”的重要性1.1.2 我们都写过单元测试(或多或少)1.2 单元测试的特性1.3 集成测试1.4 的单元测试——定义1.5 一个简单的单元测试实例1.6 测试驱动开发1.7 小结第2章 个单元测试2.1 单元测试框架2.1.1 单元测试框架的优势提供了什么2.1.2 xunit测试框架2.2 logan项目的介绍2.3 使用nunit的步2.3.1 安装nunit2.3.2 加载解决方案.2.3.3 在代码中使用nunit特性2.4 编写个测试2.4.1 assert类2.4.2 用nunit运行我们的个测试2.4.3 修正代码让测试通过2.4.4 从红色到绿色2.5 更多nunit特性2.5.1 setup和teardow2.5.2 验证预期的异常2.5.3 忽略测试2.5.4 设置测试类别2.6 针对状态的间接测试2.7 小结第ii部分 核 心 技 术第3章 使用桩对象解除依赖3.1 桩对象3.2 发现logan对文件系统的依赖3.3 确认简化loganalyzer测试的方法3.4 重构设计增强了可测性3.4.1 抽取接口,以允许替换底层实现3.4.2 在被测类中注入桩对象3.4.3 在构造函数级别上接收一个接口(构造函数注入)3.4.4 接收一个接口作为属性的get或set的类型3.4.5 在调用方法之前获取一个桩对象3.5 重构技术的变种3.6 解决封装问题3.6.1 使用internal和[internalvisibleto]3.6.2 利用[conditional]属性标签3.6.3 使用#if和#endif的条件编译3.7 小结第4章 用模拟对象做交互测试4.1 基于状态的测试和交互测试4.2 模拟对象和桩对象之间的区别4.3 简单的手写模拟对象例子4.4 同时使用模拟对象和桩对象4.5 一个测试一个模拟对象4.6 桩链:产生模拟对象或其他桩的一批桩对象4.7 手写模拟对象和桩对象的问题4.8 小结第5章 隔离(模拟对象)框架5.1 为什么使用隔离框架5.2 动态创建伪对象5.2.1 在测试中引入rhino mocks5.2.2 使用动态模拟对象替换手写模拟对象5.3 严格模拟对象与非严格模拟对象5.3.1 严格模拟对象5.3.2 非严格模拟对象5.4 从伪对象返回值5.5 用隔离框架创建智能桩对象5.5.1 在rhino mocks框架中创建桩对象5.5.2 结合使用动态桩对象和模拟对象5.6 模拟对象和桩对象的参数约束5.6.1 用字符串约束检查参数5.6.2 使用约束检验参数对象的属性5.6.3 执行回调检验参数5.7 测试与事件相关的活动5.7.1 测试一个事件已被订阅5.7.2 在模拟对象和桩对象中触发事件5.7.3 测试一个事件是否被触发5.8 隔离框架中的设置-操作-断言语法5.9 .net中现有的隔离框架5.9.1 nunit.mocks5.9.2 nmock5.9.3 nmock25.9.4 typemock isolator5.9.5 rhino mocks5.9.6 moq框架5.10 隔离框架的优势5.11 避免使用隔离框架时的陷阱5.11.1 测试代码缺乏可读性5.11.2 对错误的事情做验证5.11.3 一个测试包含多个模拟对象5.11.4 测试的细节太多5.12 小结第iii部分 测试的代码第6章 测试层次及组织6.1 让自动化构建运行自动化测试6.1.1 自动构建剖析6.1.2 触发构建和持续集成6.1.3 自动化构建类型6.2 根据速度和类型组织测试6.2.1 分离单元测试与集成测试的人为因素6.2.2 绿色安全区域6.3 确保测试在代码库中6.4 在测试类和被测代码之间建立映射6.4.1 映射测试到项目6.4.2 映射测试到类6.4.3 映射测试到方法6.5 为应用程序打造测试api6.5.1 使用测试类的继承模式6.5.2 新建测试工具类和方法6.5.3 让程序员知道你的api6.6 小结第7章 单元测试的支柱7.1 编写可信赖的测试7.1.1 决定何时删除或更改测试7.1.2 避免测试的逻辑7.1.3 只测试一件事情7.1.4 让测试容易运行7.1.5 确保测试覆盖率7.2 编写可维护的测试7.2.1 测试私有的或者受保护的方法7.2.2 去除重复代码7.2.3 让setup方法可维护7.2.4 实施测试隔离7.2.5 避免多个断言7.2.6 避免测试同一个对象的多个方面7.2.7 避免在测试里过度关注细节7.3 编写可读的测试7.3.1 为单元测试命名7.3.2 为变量命名7.3.3 让断言有意义7.3.4 将断言和动作分离7.3.5 setup和teardow7.4 小结第iv部分 设计与流程第8章 在组织中引入单元测试8.1 怎样成为变革推动者8.1.1 备战棘手问题8.1.2 说服内部人士:拥护者与阻碍者8.1.3 洞察切入机会8.2 成功之路8.2.1 游击策略(自下而上)8.2.2 说服管理层(自上而下)8.2.3 从外面找一个专家8.2.4 让过程可见8.2.5 锁定目标8.2.6 意识到即将面对的阻碍8.3 失败之路8.3.1 缺乏驱动力8.3.2 缺乏政治上的支持8.3.3 不好的实施和印象8.3.4 缺乏团队支持8.4 棘手的问题及其答案8.4.1 在现有的流程上会增加多少时间8.4.2 测试人员的工作会因此受到威胁吗8.4.3 怎么知道这确实可行呢8.4.4 有什么可以证明单元测试的好处8.4.5 为什么测试部门还是能找到缺陷8.4.6 我们有很多没有测试的代码:该从哪里开始呢8.4.7 使用多种语言开发:单元测试适用吗8.4.8 如果是软硬件结合的开发,该怎么办8.4.9 怎么知道测试本身是否有缺陷8.4.10 我的调试器显示代码可以正常工作:为什么还需要测试8.4.11 必须用tdd的方式来编码吗8.5 小结第9章 修改遗留代码9.1 从哪里开始添加测试?9.2 确定抉择策略9.2.1 容易优先策略的优缺点9.2.2 困难优先策略的优缺点9.3 在重构前写集成测试9.4 重要的遗留代码单元测试工具9.4.1 使用typemock isolator轻松隔离依赖项9.4.2 使用depender找出可测性问题9.4.3 在java遗留代码里使用jmockit9.4.4 重构java代码时使用vise9.4.5 使用fitnesse在重构前做验收测试9.4.6 阅读michael feathers的关于遗留代码的书9.4.7 使用ndepend来审查生产代码9.4.8 使用resharper浏览和重构生产代码9.4.9 使用simian来检测重复代码(和缺陷)9.4.10 使用typemock racer来检测线程问题9.5 小结附录a 设计与可测试性附录b 工具和框架
作者介绍
序言
— 没有更多了 —
以下为对购买帮助不大的评价