2017-10-16 87 views
1

需要用黃瓜測試網絡服務。 我有用黃瓜測試網絡服務

Scenario: recieve document num 
Given sender info 
And manufacturer code 3 
When colling web-service 
Then recieve document num 

文件CreateDoc.feature而且,還有另一個文件Revocation.feature,我需要用我收到的CreateDoc.feature方案

Scenario: revocation doc 
Given //need document num from first scenario 

我如何能做到這一點的變量?

+0

這似乎不是BDD('黃瓜')的預期用途。你可能會更喜歡TDD工具,比如'JUnit'和'Mockito'。 –

+0

沒有變量的概念來存儲跨場景的值。您應該考慮在第二種情況下整合整個過程。提到您創建和存儲文檔編號的一個步驟。在這個單步定義中,您可以調用第一個場景的步驟定義。這也消除了不同場景之間的依賴關係。 – Grasshopper

回答

1

實際上不能將數據從一個場景傳遞到另一個場景。每個場景都應該獨立運行,而不取決於任何其他場景的執行情況。事實上,你不能保證哪個場景會先執行,或者它們是否並行執行。功能文件是對相關場景進行分組的一種方式。

這意味着場景可能會與其他場景中的步驟明顯或暗含地重複。

還記得小黃瓜應該表達的業務方面的行動,而不是底層技術。

爲了您的撤銷方案,您可以嘗試:

Given I've created a document identified by document num 
When I revoke the document 
Then it should be gone 

給定的走會經歷整個文檔的創建過程。

的當步驟會執行必要的動作撤銷文檔

當時步驟將測試,可能通過查找文件NUM,該文件被正確處理。