Groovy中的DSL与构建器技术详解
1. 测试驱动开发与替代模型
1.1 测试驱动开发(TDD)
在过去十年里,测试驱动开发(TDD)已成为软件开发者的一项关键能力。不过,不同组织对TDD的理解和实践有所不同:
- 采用完全的测试优先编码风格,即先编写单元测试,再编写功能代码。
- 为系统中的每个功能代码编写大量单元测试。
- 可能会使用持续集成构建,在每次代码提交后运行一系列单元测试。
在TDD实践中,xUnit测试框架(如JUnit、WEBUnit和HTTPUnit)长期以来一直是开发者的重要工具。
1.2 xUnit测试的问题
xUnit风格的测试工具主要由程序员为程序员设计。QA人员可能熟悉运行xUnit测试并报告问题,但不太可能参与使用这些框架发起代码测试。而且,单元测试通常侧重于类和方法级别的功能测试,而非软件的预期行为测试。
1.3 替代测试模型
为解决上述问题,敏捷社区倡导了两种替代测试模型:验收测试驱动开发(ATDD)和行为驱动开发(BDD)。推广ATDD和BDD的关键在于创建一种工具,使包括开发者、业务分析师和QA人员在内的所有利益相关者都能使用通用语言进行测试。测试从定义软件的预期行为开始,并将其输入到工具中,这就要求使用一种所有利益相关者都能编写和理解的语言来开发规范。
2. 现有的Groovy DSL
2.1 ATDD和BDD的通用语言
ATDD和BDD的通用语言围绕以用户为中心的行为定义展开,通常使用“GIVEN(给定)”、“WHEN(当)”和“THEN(那么)
超级会员免费看
订阅专栏 解锁全文
1371

被折叠的 条评论
为什么被折叠?



