cucumber 最佳实践

标签 cucumber pageobjects cucumber-java testlink

我的一位客户对使用 Cucumber 感兴趣。 但我对此仍然有几个疑问:

  1. 开发团队是否应该调整其代码以适应 Gherkin 文件?
  2. 我们应该从头开始一个项目以遵循 Cucumber 模式吗?
  3. 我们应该在哪里存储我们的规范文件(.feature 文件)?我们应该吗 只是将它们留在 eclipse 的文件夹中吗?我们应该将它们上传到 测试管理工具,例如测试?最佳实践是什么 管理他们?
  4. 我曾经使用 Selenium 页面对象模型并存储我的测试 Testink 中的案例。我应该把它换成完整的 cucumber 吗 解决方案?看起来 Cucumber 的最佳实践不兼容 与页面对象模型。我错了吗?

任何帮助将不胜感激。 谢谢你们。

最佳答案

这在一定程度上是一个意见问题。我将提出我的看法。其他人可能有不同的看法。

  1. 该代码不应该被 Cucumber 采用。代码应该是可测试的。这恰好符合您需要能够从测试或 Cucumber 中的步骤连接到代码。

  2. 没有必要从头开始。如果代码是可测试的,则可以使用行为驱动开发(即对话、具体示例、自动验收测试、代码,按顺序)来驱动开发。 开始在现有项目/产品上使用 BDD 是可能的,并且在大多数情况下是必要的,因为您已经有了工作目标。 BDD只是手段,不是目标。

  3. 功能文件应与源代码一起存储。也就是说,它应该像其他代码一样进行版本控制。 当您的持续集成服务器(Jenkins 或类似服务器)在每次提交后构建系统时,它必须可用。如果您将它们存储在其他地方,您最终会在构建和验证系统时遇到问题。

  4. Cucumber 和页面对象模式之间不存在冲突。您创建的场景,即系统应如何工作的具体示例,将转换为实际执行某些操作的步骤。一个好习惯是将步骤委托(delegate)给辅助对象。这些帮助器的一个示例是页面对象。

在我看来,您需要了解有关行为驱动开发和 Cucumber 的更多信息。

我有一些resources这可能对你有帮助。

关于 cucumber 最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46762899/

相关文章:

java - 简单的 cucumber 测试类通过,无需胶水文件

java - cucumber-jvm junit 报告和 maven-surefire-plugin

cucumber - Karate 框架 - 如何检查属性的两个字符串的条件或

testing - 创建新型 PageObject 的标准应该是什么

cucumber 3 : How to define a regular expression

cucumber - 运行 Cucumber 功能文件时出错未知选项 : --plugin

ruby - 推广 cucumber / capybara 测试

java - 如何在 cucumber 中使用可选参数

selenium - 使用具有相同 selenium 测试的不同页面对象集

java - Selenium 页面对象模式: get objects list