使用Specflow,我正在編寫一套場景模擬月薪,驗證每月計算的付款以及最終的年終數字。Specflow - 「場景」之間的狀態
每個月的結果都是累積的,因此每個後續情景都取決於上個月的增加和減少。支付計算通過第三方工具寫入數據庫,因此在各種情況之間創建和銷燬測試數據非常昂貴。
根據我的測試經驗,我知道並不總是可以確保測試的執行順序。我可以用一些場景命名約定來控制執行順序,但不能保證遠程測試運行器將按字母順序運行測試。
選項,我認爲:
- 通過一個單一的情況下,包括大量的給定的時候,那麼斷言運行整整一年。這會導致一個難以閱讀的巨大場景。
- 爲每個場景創建一個「給定」級聯。 「鑑於:所有到X月的付款都已完成」。這會創建大量的數據庫流量,因爲每個場景都需要創建和銷燬測試數據。
是否有更好的方法來在場景之間存儲狀態並確保場景按照所需的順序執行?
您也可能會發現這個答案有幫助,如果您將它映射到您的問題上,並且您想要執行的測試類型選擇較高級別的抽象: http://stackoverflow.com/a/23375756/936469 – realtime