gpt4 book ai didi

cucumber - 将 Cucumber-jvm 从版本 4 升级到版本 6 时是否需要额外的上下文配置?

转载 作者:行者123 更新时间:2023-12-04 03:57:55 26 4
gpt4 key购买 nike

我正在使用 cucumber jvm 在 Kotlin 中执行一些功能测试。
我有标准的空运行者类:

@RunWith(Cucumber::class)
@CucumberOptions(features=[foo],
glue=[bar],
plugin=[baz],
strict=true,
monochrome=true)
class Whatever
实际的步骤是在另一个类中使用 @ContextConfiguration springframework 注释定义的。
此类还使用其他 spring 功能,如 @Autowire 或 @Qualifier
@ContextConfiguration(locations=["x/y/z/config.xml"])
class MyClass {
...
@Before
...

@Given("some feature file stuff")
...

// etc
}
这在 Cucumber 4.2.0 版中一切正常,但是升级到 6.3.0 版会破坏一些事情。更新导入以匹配新的 cucumber 项目布局后,测试现在失败并出现以下错误:

io.cucumber.core.backend.CucumberBackendException: Please annotate a glue class with some context configuration.


它提供了它的含义的例子......

For example:

    @CucumberContextConfiguration
@SpringBootTest(classes = TestConfig.class)
public class CucumberSpringConfiguration {}

Or:

    @CucumberContextConfiguration
@ContextConfiguration( ... )
public class CucumberSpringConfiguration {}
看起来它告诉我我可以将 @CucumberContextConfiguration 添加到 MyClass。
但为什么?
我明白@CucumberContextConfiguration 的观点,它解释得很好 here但是为什么我现在需要在版本 6 中使用它,而版本 4 在没有它的情况下运行良好?我看不到任何已被弃用并被此替换的功能。
任何帮助,将不胜感激 :)

最佳答案

https://github.com/cucumber/cucumber-jvm/pull/1959删除了上下文配置自动发现。作者得出的结论是,它隐藏了用户错误,删除它可以提供更清晰的信息并降低复杂性。它还列出了用于应用上下文配置自动发现的场景。
注意它是在https://github.com/cucumber/cucumber-jvm/pull/1911之后引入的,你提到过。

关于cucumber - 将 Cucumber-jvm 从版本 4 升级到版本 6 时是否需要额外的上下文配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63562903/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com