我們的C#應用程序體系結構涉及Web服務,數據庫和Winforms應用程序。 winforms應用程序將在名爲ProcessFile的Web服務中調用一個方法。將Specflow與Web服務結合使用
我想使用驗收測試驅動開發技術,並編寫了以下Specflow用戶故事。
Story: Process file
As a knowledge worker
I want to process a file
so that it can go onto the next step.
Given query A is True
And File A exists
When I run Process with File A
Then A backup of the existing file exists
And a new processed file exists
And query B is true
And query C is true
我們的Windows應用程序將調用Web服務的整個過程文件故事。
但是爲了做BDD我們很想有很多像IsQueryBTrue
這導致不希望健談的Web服務調用很少的,我們不希望IsQueryBTrue公佈的API
我我現在認爲測試項目可以直接調用數據服務,並且只需要對Web服務進行一些較小的FileExists調用即可。然而,這並不完全正確,因爲相同的代碼在生產中應該在測試中運行。
如何在充分測試的同時避免發出健談的網絡服務?
我現在想知道我們是否應該使用一個Web API或WCF,而不是一個WSDL Web服務
@kirsteng,雖然我很欣賞接受我的回答,但您可能想暫緩一段時間,直到賞金到期。隨着賞金時間越來越近,它將會移動到更高的頁面上,更多的人會看到它,並且你更有可能a)獲得替代答案,或者b)讓知識淵博的人對他們同意的現有答案進行投票,從而爲你提供更多相信答案實際上是正確的。 –
謝謝薩姆。我們最終將整個故事轉移到了服務器端,這樣它就可以直接調用某些東西,而無需將它們添加到Web服務中。感謝賞金小費。 –
@kirsteng,沒問題,很高興你找到了適合你的解決方案。 SpecFlow是一個非常棒的工具。 –