生菜BDD - 配置文件中定义的方案中的值

时间:2016-03-16 11:02:28

标签: python bdd lettuce

我对BDD和Lettuce都很陌生,而且我遇到了一个我不确定如何处理的问题。

我想创建一个Lettuce测试套件,然后我可以针对不同的环境运行,其中场景中的某些参数对于每个环境都是不同的。

因此,按照Lettuce文档,我有这个示例场景:

Scenario: Create correct config
          Given I have IP "127.0.0.0:8000" 
          And I specify username "myuser" and password "mypassword"
          When I connect to the server
          Then I get return code 200

在这种情况下,我必须更改每个环境的IP,用户和密码。但这不实用,我希望能够为每个环境创建一些配置文件,它将包含这些参数的值。

我发现了terrain.py并发现您可以在此文件中设置变量,您可以使用steps.pyworld访问该文件。

所以有可能像这样重写这个场景:

Scenario: Create correct config
          Given I have a correct IP
          And I specify correct credentials
          When I connect to the sever
          Then I get return code 200

现在,在“I have a correct IP”的步骤定义示例中,您可以使用world.correctIP中定义的terrain.py

这可以按照我需要的方式工作,但是我不相信这是正确的方法,如果打算像这样使用terrain.py ......或者有不同的方法处理这种情况?

1 个答案:

答案 0 :(得分:1)

我想说隐藏实现细节是一种很好的方法。也就是说,I have a correct IP是比将属性文件保存在属性文件中更好的方法。

BDD就是沟通。如果知道您使用正确的ip就足够了,那么在阅读示例时无需知道哪个ip。