回答
您正在測試Login類。需要嘲笑該類的依賴關係。 你會嘲笑IUnitOfWork,所以不需要擔心UnitOfWork本身。
var uow = Substitute.For<IUnitOfWork>();
var sut = new Login(uow);
現在您可以撥打sut.IsManager
並聲明結果。 確保設置模擬uow
的行爲與您在每個測試用例中的預期一致。例如:返回非經理用戶,返回經理。
但是,我不應該嘲笑上下文,因爲工作單元取決於上下文作爲參數嗎? –
我已經試過按照你的建議書寫單元測試,但是uow的嘲諷是作爲一個整合。當我調試單元測試時,在調用我的方法isManager時。它的返回null作爲uow被設置爲null。從單元測試看uow。 Employee的屬性評估錯誤爲「Employee =函數評估需要所有線程運行」。 uow目標也被設置爲null。 –
我不明白你的意思是什麼(模擬)就像一個整合。另外我不明白「如果將uow設置爲null,IsManager是否返回null」如果您爲IUnitOfWork和Login類提供代碼(簡化,僅在Login類中的IsManager方法以及從只能使用IsManager使用的方法) –
- 1. HTML標記中的測試自動化測試ID?
- 2. JSoup解析HTML div標記
- 3. 測試工具Schema.org標記
- 4. 測試HTML5廣告標記
- 5. 將測試標記爲scalatest
- 6. Specs2 - 標記測試運行
- 7. 結束標記測試
- 8. 單元測試Grails標記
- 9. PHP內HTML div CSS樣式標記
- 10. HTML Wrapper Div標記不起作用?
- 11. 在colorbox中加載html標記div
- 12. @Html標記不顯示在div中?
- 13. 如何禁用div中的HTML標記?
- 14. 檢查HTML實體DIV的標記
- 15. HTML/CSS Div超越其關閉標記
- 16. 用@ unittest.skip標記的單元測試未在鼻子測試中標記
- 17. pytest:測試類上的標記覆蓋測試函數上的相同標記
- 18. Python - 通過HTML記錄測試結果
- 19. 放大DIV標記
- 20. Angularjs綁定HTML標記HTML標記
- 21. C#在HTML中標記HTML標記
- 22. 如何在linux下測試標記/加載測試webserver
- 23. 如何在Google測試中將測試標記爲「不確定」?
- 24. asp.net單元測試:標記測試爲不完整
- 25. 包含標記以及其他無標記測試?
- 26. 標記和如何測試標記存在
- 27. 如何使用HTML標記,DIV,沒有結束的div
- 28. 爬行器測試meta標記 - silex phpunit
- 29. Gitlab Mocha測試和Docker標記問題
- 30. Django測試找不到br標記
'IsManager'是'Login'類的方法,不是嗎? – Valentin
是的。我想嘲笑這種方法,但登錄需要工作單元和工作單元類的參數需要上下文的參數 –
您可以顯示您的IsManager方法嗎? – Valentin