在黄瓜测试中切换功能标志值

Posted

技术标签:

【中文标题】在黄瓜测试中切换功能标志值【英文标题】:Toggle feature flag value in cucumber testing 【发布时间】:2021-08-02 07:28:19 【问题描述】:

我在我的 Spring 应用程序 application.yml 中引入了一个功能标志,我想测试这个功能标志为真/假的两种情况。 我已经用 cucumber 实现了我现有的测试,并且我创建了一个单独的包,我想在其中放置启用功能标志的所有测试场景。

仅对于场景的后台步骤,我需要禁用该功能,因此我希望能够通过黄瓜步骤启用/禁用此标志值 (flags.myfeatureflag-enabled),以便在测试中启用/禁用它情景。怎么可能这样做?

【问题讨论】:

【参考方案1】:

您还没有实现功能切换,您已经实现了配置切换。

如果不刷新应用程序上下文,则无法更改配置切换,因此在使用 Cucumber Spring 时无法“切换”它,nor could you do this with Springs JUnit integration。

您仍然可以对其进行测试,但您必须手动启动和刷新应用程序上下文。

或者重新考虑功能切换的设计,使其不依赖于配置。例如,将它放在数据库、外部服务中或随请求一起传递。

【讨论】:

以上是关于在黄瓜测试中切换功能标志值的主要内容,如果未能解决你的问题,请参考以下文章

负载测试的规格(黄瓜)(Jmeter)

IntelliJ缩短黄瓜测试的命令行[重复]

使用与黄瓜集成的柑橘框架的并行集成测试执行

无法从黄瓜测试连接到PostgreSQL

无法在黄瓜jvm中执行功能

量角器+黄瓜等待和超时而不执行完整测试