【发布时间】:2016-03-16 11:02:28
【问题描述】:
我对 BDD 和 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 并看到您可以在此文件中设置变量,您可以使用 world 从您的 steps.py 访问这些变量。
因此,可以像这样重新描述场景:
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 打算像这样使用......或者是否有不同的方法处理这种情况?
【问题讨论】: