@RunWith(CucumberWithSerenity.class) 抛出 NoClassDefFound cucumber/runtime/junit/Assertions
@RunWith(CucumberWithSerenity.class) throws NoClassDefFound cucumber/runtime/junit/Assertions
尝试使用 JUnit 5 运行 Cucumber with Serenity。
当 Test Runner 有一个 @RunWith(Cucumber.class)
注释时,测试 运行,尽管 Serenity 不记录结果。
当 Test Runner 有 @RunWith(CucumberWithSerenity.class)
时,抛出一个 "NoClassDefFound cucumber/runtime/junit/Assertions"。
我认为它可能是 JUnit 5,所以我切换到 JUnit 4,结果相同。
我将示例项目加载到 GitHub:https://github.com/WB3Tech/Cucumber-Serenity-JUnit5
目标是构建项目,然后能够在 Serenity html 输出中看到 Cucumber 结果。
有人知道我可能哪里出错了吗?
有两个不同的问题:
依赖 |黄瓜-java -> v4.2.0
我使用的是 v4.7.1。当我从 4.7.1 回滚到 4.2.0 时,NoClassDefFound 错误消失了。
当我升级到 4.2.1 时,我收到了一个新的 NoClassDefFound 错误。我尝试了从 4.2.1 到 4.7.1 的所有版本并得到了不同的 NoClassDefFound 错误。
依赖 | serenity-cucumber4 - v1.0.17
当我使用 v1.0.17 时,出现缺少依赖项的警告。
当我使用 v1.0.15 时,这个缺少依赖项警告消失了。
似乎对 serenity-cucumber4 使用的 serenity-screenplay v2.0.59 和 serenity-screenplay-webdriver 的错误引用在 Maven 存储库中不存在。
这是我 运行 遇到的另一个障碍,在主要问题中没有讨论
解决方案
- 我将 cucumber-java 保留在 v4.2.0
- 我将 serenity-cucumber4 保持在 v1.0.15
一切正常
您可以在以下位置阅读有关我如何解决问题的更多信息:https://github.com/serenity-bdd/serenity-cucumber4/issues/9
您还可以在此处查看存储库:https://github.com/WB3Tech/Cucumber-Serenity-JUnit5
我升级到Java12,中途实现了JUnit5。 TestRunner 没有使用替换@RunWith 的@ExtendWith() 属性,它仍在使用jupiter-vintage 包中的@RunWith() 属性。
参见 https://github.com/serenity-bdd/serenity-core/#cucumber-4。我希望 Serenity 只能在老式模式下与 JUnit 5 一起使用。
尝试使用 JUnit 5 运行 Cucumber with Serenity。
当 Test Runner 有一个 @RunWith(Cucumber.class)
注释时,测试 运行,尽管 Serenity 不记录结果。
当 Test Runner 有 @RunWith(CucumberWithSerenity.class)
时,抛出一个 "NoClassDefFound cucumber/runtime/junit/Assertions"。
我认为它可能是 JUnit 5,所以我切换到 JUnit 4,结果相同。
我将示例项目加载到 GitHub:https://github.com/WB3Tech/Cucumber-Serenity-JUnit5
目标是构建项目,然后能够在 Serenity html 输出中看到 Cucumber 结果。
有人知道我可能哪里出错了吗?
有两个不同的问题:
依赖 |黄瓜-java -> v4.2.0
我使用的是 v4.7.1。当我从 4.7.1 回滚到 4.2.0 时,NoClassDefFound 错误消失了。 当我升级到 4.2.1 时,我收到了一个新的 NoClassDefFound 错误。我尝试了从 4.2.1 到 4.7.1 的所有版本并得到了不同的 NoClassDefFound 错误。
依赖 | serenity-cucumber4 - v1.0.17
当我使用 v1.0.17 时,出现缺少依赖项的警告。 当我使用 v1.0.15 时,这个缺少依赖项警告消失了。
似乎对 serenity-cucumber4 使用的 serenity-screenplay v2.0.59 和 serenity-screenplay-webdriver 的错误引用在 Maven 存储库中不存在。
这是我 运行 遇到的另一个障碍,在主要问题中没有讨论
解决方案
- 我将 cucumber-java 保留在 v4.2.0
- 我将 serenity-cucumber4 保持在 v1.0.15
一切正常
您可以在以下位置阅读有关我如何解决问题的更多信息:https://github.com/serenity-bdd/serenity-cucumber4/issues/9
您还可以在此处查看存储库:https://github.com/WB3Tech/Cucumber-Serenity-JUnit5
我升级到Java12,中途实现了JUnit5。 TestRunner 没有使用替换@RunWith 的@ExtendWith() 属性,它仍在使用jupiter-vintage 包中的@RunWith() 属性。
参见 https://github.com/serenity-bdd/serenity-core/#cucumber-4。我希望 Serenity 只能在老式模式下与 JUnit 5 一起使用。