我對BDD和生菜非常新穎,而且我不知道如何處理最好的問題。萵苣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
訪問此變量。
因此,這將有可能重新字的情形是這樣的:
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的目的是像這樣使用......或者有不同的方式處理這種情況?
感謝您的回覆!當談到在某個地方存儲「正確的IP」時,您認爲最佳實踐是什麼,請記住這可能需要根據測試運行的環境進行更改?對於生菜會使用terrain.py來達到這個目的是否有意義? –
我不知道生菜,所以我不能說在這個回聲系統中合乎邏輯的地方。在Java中,我會考慮爲環境使用不同的屬性文件或不同的常量。我的目標是爲維護人員提供易於查找的內容,以便更新。我也會盡量避免重複價值。 –