因此,我们的测试环境会根据我们正在开发的版本而动态变化。
例如:
- 对于abc发行版,测试环境的URL将是feature-abc.mycompany.com,对于xyz发行版,检测环境的URL为feature-xyz.company.com,依此类推
- 同样的情况也适用于staging:release-abc.mycompany.com、release-xyz.mycompany等
- 生产只是静态URL:platform.mycompany.com
话虽如此,我需要指定我希望在哪个URL上使用Python的behavior BDD框架执行测试。
具体来说,我正在寻找cucumber为Ruby提供的等效功能,使用:features/support/env.rb文件来定义多个URL(qa、staging、production等),这样在命令行(终端)上我只会说xyz(具有qa=feature(发布).mycompany.com
比如:我如何在Cucumber中测试不同的环境(例如开发|测试|生产)?
好的,因此有一个Pull Request(PR#243)可以在behavior的github repo中执行此操作。
与此同时,作为一种变通方法,他们建议我使用os.getenv('variable_name', 'default_value')
,然后在命令行中,我只说export variable_name='another_value' ; behave
请在我们的短线程上查看更多详细信息:
https://github.com/behave/behave/issues/250
behavio-1.2.5引入了用户数据的概念。
behave -D BUILD_STAGE=develop …
在before_all()
挂钩中加载该阶段的相应配置。