如何为 Cucumber stepdef 指定源 jar

How to specify source jar for Cucumber stepdef

我有一些场景从作为依赖项包含的 jar 调用 stepdef。

现在,我想将同一 stepdef 的 2 个单独版本维护到 2 个不同的 jar 中。因为我需要很少的场景来使用版本 1 和其他场景来使用 stepdef 的版本 2。

如何使用 @CucumberOptions 执行此操作,特别是在 glue 中提及 jar 源?

据我所知,黄瓜不支持它。我们正在使用 QAF-gherkin,它支持 jar 中的步骤和同一步骤的两个不同实现,支持在 运行 时间使用 step.provider.pkg 属性.

加载适当的实现

我使用以下方法解决了这个问题:

  1. 为 运行ning 版本 1 和 2 创建了 2 个独立的 JUnit 运行ners。
  2. 通过维护 2 个包支持两个版本的步骤定义。
  3. @CucumberOptions glue 规范中为两个 运行 用户提到了使用 step.provider.pkg 属性 的相应包名称。

关于 maven 的注意事项:

我必须在 integration-test 阶段将 Maven failsafe 插件中的 运行ners 都包含到 运行 测试中。还必须在 failsafe 插件中提供 2 个单独的 executions 以启用提到的 运行ners 的有序执行。