原则

这个库经过多年 TDD/BDD、测试和自动文档化各种不同类型的软件(Web 应用程序、Python 库、命令行应用程序)的使用,替换了所有其他形式的单元、集成和端到端测试。

与 Cucumber 等传统的“BDD”框架不同,hitchstory 的主要设计目标不是“业务可读性”,而是开发人员的简单易维护性。

这意味着

  • 故事可以并且应该相互继承,因为规范也应该遵循 DRY 原则。
  • 故事使用强类型化的 StrictYAML 定义和验证。步骤参数和前提条件('given')模式可以由程序员严格定义。
  • 执行引擎可以被编程为根据某些类型的行为更改(例如,输出字符串、屏幕输出更改、Web 应用程序中的消息)来重写正在执行的故事。
  • 故事的运行是通过 Python API 完成的,而不是通过命令行,因此您可以轻松地编程自定义测试工作流程。
  • 内置了故事参数化,因此您可以进行属性测试。
  • 故事可以轻松地测试其不稳定性。
  • 故事的设计目的是易于用于构建可读的文档。