• .NET单元测试艺术
图书条目标准图
21年品牌 40万+商家 超1.5亿件商品

.NET单元测试艺术

22.4 4.6折 49 九五品

仅1件

北京海淀
认证卖家担保交易快速发货售后保障

作者[以色列]奥西洛夫(Roy Osherove) 著;张博超 译

出版社清华大学出版社

出版时间2012-01

版次1

装帧平装

货号A6

上书时间2024-11-25

诚意正心书店

六年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:九五品
图书标准信息
  • 作者 [以色列]奥西洛夫(Roy Osherove) 著;张博超 译
  • 出版社 清华大学出版社
  • 出版时间 2012-01
  • 版次 1
  • ISBN 9787302269168
  • 定价 49.00元
  • 装帧 平装
  • 开本 16开
  • 纸张 胶版纸
  • 页数 297页
  • 字数 434千字
  • 正文语种 简体中文
【内容简介】
《NET单元测试艺术》针对这个重要主题展开讨论,引导读者从简单的测试开始,逐渐过渡到如何写出可维护、可读、可信赖的测试。同时,还涉及mock,stub和框架(如TypemockIsolator和RhinoMocks)等高级主题,旨在帮助读者逐步掌握高级的测试模式和结构,高效地为遗留代码和甚至根本不可测试的代码编写测试。书中还讨论了测试数据库时需要的工具和其他技术。《.NET单元测试艺术》为广大.NET开发人员而写,但其他读者也可以从中受益。
【目录】
第Ⅰ部分入门

第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.2xunit测试框架

2.2logan项目的介绍

2.3使用nunit的第一步

2.3.1安装nunit

2.3.2加载解决方案

2.3.3在代码中使用nunit特性

2.4编写第一个测试

2.4.1assert类

2.4.2用nunit运行我们的第一个测试

2.4.3修正代码让测试通过

2.4.4从红色到绿色

2.5更多nunit特性

2.5.1setup和teardown

2.5.2验证预期的异常

2.5.3忽略测试

2.5.4设置测试类别

2.6针对状态的间接测试

2.7小结

第Ⅱ部分核心技术

第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在测试中引入rhinomocks

5.2.2使用动态模拟对象替换手写模拟对象

5.3严格模拟对象与非严格模拟对象

5.3.1严格模拟对象

5.3.2非严格模拟对象

5.4从伪对象返回值

5.5用隔离框架创建智能桩对象

5.5.1在rhinomocks框架中创建桩对象

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.1nunit.mocks

5.9.2nmock

5.9.3nmock2

5.9.4typemockisolator

5.9.5rhinomocks

5.9.6moq框架

5.10隔离框架的优势

5.11避免使用隔离框架时的陷阱

5.11.1测试代码缺乏可读性

5.11.2对错误的事情做验证

5.11.3一个测试包含多个模拟对象

5.11.4测试的细节太多

5.12小结

第Ⅲ部分测试的代码

第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为应用程序打造测试api

6.5.1使用测试类的继承模式

6.5.2新建测试工具类和方法

6.5.3让程序员知道你的api

6.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.5setup和teardown

7.4小结

第Ⅳ部分设计与流程

第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使用typemockisolator轻松隔离依赖项

9.4.2使用depender找出可测性问题

9.4.3在java遗留代码里使用jmockit

9.4.4重构java代码时使用vise

9.4.5使用fitnesse在重构前做验收测试

9.4.6阅读michaelfeathers的关于遗留代码的书

9.4.7使用ndepend来审查生产代码

9.4.8使用resharper浏览和重构生产代码

9.4.9使用simian来检测重复代码(和缺陷)

9.4.10使用typemockracer来检测线程问题

9.5小结

附录a设计与可测试性

附录b工具和框架
点击展开 点击收起

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP