0

我对 BDD 和生菜很陌生,我遇到了一个我不确定如何最好地处理的问题。

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

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

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.pyusing访问这些变量world

因此,可以像这样重新描述场景:

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 打算像这样使用......或者是否有不同的方法来处理这种情况?

4

1 回答 1

1

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

BDD 是关于沟通的。如果知道你使用了正确的ip就足够了,那么阅读示例时就不需要知道哪个ip了。

于 2016-03-17T08:48:39.450 回答