[英]Lettuce BDD - Values in scenario defined in config file
我对BDD和生菜还很陌生,我遇到了一个我不确定如何最好地解决的问题。
我想创建一个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
访问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像这样使用...还是有其他方法来处理这种情况?
我想说,隐藏实施细节是一个好方法。 也就是说,与将详细信息保留在属性文件中相比, I have a correct IP
是更好的方法。
BDD就是关于沟通的。 如果足以知道您使用了正确的IP,那么在阅读示例时就无需知道哪个IP。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.