如何使用behave设置环境变量(Python BDD框架)?

时间:2014-09-10 19:16:58

标签: python cucumber bdd python-behave rubypython

因此,我们的测试环境会根据我们正在处理的版本动态更改。

例如:

  • 对于abc发布测试环境的URL将是feature-abc.mycompany.com,对于xyz发布,测试环境的URL将是feature-xyz.company.com,依此类推。
  • 同样的事情是分期:release-abc.mycompany.com,release-xyz.mycompany.com等。
  • 生产只是静态网址:platform.mycompany.com

说到这里,我需要指定我希望使用针对Python的行为BDD框架执行测试的URL。

具体我正在寻找黄瓜对Ruby使用的等效功能:features / support / env.rb文件来定义多个URL(qa,staging,production等),以便在命令行(终端)上我只想说xyz(有qa = feature(发布).mycompany.com

类似于:How can I test different environments (e.g. development|test|production) in Cucumber?

2 个答案:

答案 0 :(得分:1)

表现-1.2.5引入了userdata概念。

behave -D BUILD_STAGE=develop …

before_all()挂钩中加载此阶段的相应配置。

答案 1 :(得分:0)

好的,为此,有一个Pull Request(PR#243)可以在行为的github repo中执行此操作。

与此同时,作为一种解决方法,他们建议我使用os.getenv('variable_name', 'default_value'),然后在命令行中我会说export variable_name='another_value' ; behave

请在我们的简短帖子中查看更多详细信息:

https://github.com/behave/behave/issues/250