原则
这个库经过多年 TDD/BDD、测试和自动文档化各种不同类型的软件(Web 应用程序、Python 库、命令行应用程序)的使用,替换了所有其他形式的单元、集成和端到端测试。
与 Cucumber 等传统的“BDD”框架不同,hitchstory 的主要设计目标不是“业务可读性”,而是开发人员的简单易维护性。
这意味着
- 故事可以并且应该相互继承,因为规范也应该遵循 DRY 原则。
- 故事使用强类型化的 StrictYAML 定义和验证。步骤参数和前提条件('given')模式可以由程序员严格定义。
- 执行引擎可以被编程为根据某些类型的行为更改(例如,输出字符串、屏幕输出更改、Web 应用程序中的消息)来重写正在执行的故事。
- 故事的运行是通过 Python API 完成的,而不是通过命令行,因此您可以轻松地编程自定义测试工作流程。
- 内置了故事参数化,因此您可以进行属性测试。
- 故事可以轻松地测试其不稳定性。
- 故事的设计目的是易于用于构建可读的文档。