测试模式重构:单元测试的艺术

5星 · 超过95%的资源 需积分: 10 26 下载量 13 浏览量 更新于2025-01-02 收藏 5.16MB PDF 举报
"Addison.Wesley.xUnit.Test.Patterns.Refactoring.Test.Code.May.2007.pdf" 是一本关于测试模式和重构测试代码的书籍,由一系列章节构成,探讨了测试自动化的重要性和策略。 在书中,作者首先提供了一个模式语言的视觉概览,并在前言和序言中引入主题。书中特别强调了重构测试的重要性,通过实例展示如何对测试进行重构。第一部分(PART I. The Narratives)主要包含两个主要章节,旨在引导读者了解测试领域的核心概念。 第一章《A Brief Tour》介绍了测试自动化的基本策略。书中提到最简单的测试自动化方法,描述了开发过程,包括客户测试和单元测试。此外,还讨论了设计可测试性的重要性以及测试组织结构。最后,作者指出了后续章节将探讨的内容。 第二章《Test Smells》则关注于测试代码的不良实践,即“测试异味”。这一章解释了什么是测试异味,将其分为项目、行为和代码三个类别,并列举了一个测试异味的目录。作者建议当识别到这些不良实践时,应当采取行动进行改进。 第三章《Goals of Test Automation》探讨了为什么进行测试自动化,以及自动化测试的目标。作者强调了测试对于提高质量、理解被测系统(SUT)、降低风险、简化运行和维护等方面的重要性。他还指出,随着系统的演进,测试应尽可能减少维护工作。 第四章《Philosophy of Test Automation》进一步深入讨论测试自动化的理念,解释了测试自动化背后的原因和原则。 书中的部分内容提到了一系列具体的测试模式,如:AssertionMessage,它提倡在断言方法中包含描述性的字符串参数;AssertionMethod,推荐使用辅助方法来检查预期结果是否达成;Automated Teardown,通过跟踪并自动清理测试期间创建的资源;BackDoor Manipulation,通过后门(如直接数据库访问)来设置测试环境或验证结果;Behavior Verification,捕获并比较SUT的间接输出以验证其行为;Chained Tests,让测试套件中的其他测试设置测试环境;Configurable Test Double,配置可配置的测试双(mock或stub),在测试准备阶段设定返回值或验证条件;Creation Method,通过意图揭示的名称来隐藏创建对象的细节;Custom Assertion,创建定制的断言方法,仅比较对象相关属性等。 这本书全面地涵盖了测试的多个方面,为编写高效、可维护的测试代码提供了丰富的指导和实践建议。