我的一位客户对使用 Cucumber 感兴趣。 但我对此仍然有几个疑问:
- 开发团队是否应该调整其代码以适应 Gherkin 文件?
- 我们应该从头开始一个项目以遵循 Cucumber 模式吗?
- 我们应该在哪里存储我们的规范文件(.feature 文件)?我们应该吗 只是将它们留在 eclipse 的文件夹中吗?我们应该将它们上传到 测试管理工具,例如测试?最佳实践是什么 管理他们?
- 我曾经使用 Selenium 页面对象模型并存储我的测试 Testink 中的案例。我应该把它换成完整的 cucumber 吗 解决方案?看起来 Cucumber 的最佳实践不兼容 与页面对象模型。我错了吗?
任何帮助将不胜感激。 谢谢你们。
最佳答案
这在一定程度上是一个意见问题。我将提出我的看法。其他人可能有不同的看法。
该代码不应该被 Cucumber 采用。代码应该是可测试的。这恰好符合您需要能够从测试或 Cucumber 中的步骤连接到代码。
没有必要从头开始。如果代码是可测试的,则可以使用行为驱动开发(即对话、具体示例、自动验收测试、代码,按顺序)来驱动开发。 开始在现有项目/产品上使用 BDD 是可能的,并且在大多数情况下是必要的,因为您已经有了工作目标。 BDD只是手段,不是目标。
功能文件应与源代码一起存储。也就是说,它应该像其他代码一样进行版本控制。 当您的持续集成服务器(Jenkins 或类似服务器)在每次提交后构建系统时,它必须可用。如果您将它们存储在其他地方,您最终会在构建和验证系统时遇到问题。
Cucumber 和页面对象模式之间不存在冲突。您创建的场景,即系统应如何工作的具体示例,将转换为实际执行某些操作的步骤。一个好习惯是将步骤委托(delegate)给辅助对象。这些帮助器的一个示例是页面对象。
在我看来,您需要了解有关行为驱动开发和 Cucumber 的更多信息。
我有一些resources这可能对你有帮助。
关于 cucumber 最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46762899/