主要观点:行为驱动开发(BBD)是一种通过围绕具体示例的转换来发现、描述和规范系统行为的方法,BBD 工具如 JBehave 和 Cucumber 常用于编写基于 Web 的自动化验收测试,且在设计 Web 服务时也是很好的方法。文中以使用 JBehave 和 Thucydides 来表达和自动化 RESTful Web 服务的清晰、有意义的验收标准为例进行说明,还介绍了 Thucydides 是与其他测试工具结合使用的开源 BDD 报告和验收测试库,以及如何用 BDD 技术对 Web 服务进行建模和测试,包括创建项目、更新pom.xml
文件、定义故事和场景、编写 JBehave 步骤定义等,并展示了运行场景后的测试报告和 Thucydides 实时文档。
关键信息:
- BBD 可用于 Web 服务开发测试,工具有 JBehave 和 Cucumber 等。
- Thucydides 是开源 BDD 库,可与其他测试工具结合使用。
- 用 BDD 技术对 Web 服务建模测试,有两种描述行为层次。
- 示例中通过缩短和扩展 URL 来展示 BDD 对 Web 服务的测试。
- 介绍了 JBehave 步骤定义类和相关代码,如
processingurls
和urlshortenersteps
类。 - 可使用
mvn verify
运行场景并生成测试报告和文档。
重要细节:
- 创建项目时使用
mvn archetype:generate -dfilter=thucydides-jbehave
命令,输入相关信息。 - 更新
pom.xml
文件设置 Thucydides 版本。 - 在
stories
目录下创建子目录用于不同需求的故事文件。 - JBehave 步骤定义类中的方法,如
given
、when
、then
方法的具体实现。 - 使用 Spring RestTemplate 与 Web 服务交互,
shorten
和expand
方法的调用方式。 - 用
jsonassert
库验证 Web 服务返回的 JSON 数据。 - 运行
mvn verify
后可通过index.html
查看测试结果和文档。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。