我正在考慮爲我們的WPF應用程序編寫冒煙測試。我面臨的問題是:我們是否應該使用UI自動化(或其他一些創建UI腳本的技術),還是直接使用ViewModel(在創建所有視圖模型之後,首先簡化單元測試)。WPF:使用ViewModels編寫冒煙測試
0
A
回答
1
我們用直接使用ViewModel來編寫我們的集成測試(如果您喜歡,可以使用煙霧測試)。它很有效,但我們必須處理一些有趣的線程問題:例如,如果ViewModel導致顯示消息框,會發生什麼情況 - 測試如何關閉消息框?我們必須確保我們的應用程序在一個線程上運行,而我們的測試在另一個線程上運行。
我們現在已經轉移到UIAutomation並且這些問題消失了,因爲您的測試和應用程序顯式運行在兩個單獨的進程中。這裏有一點學習曲線,但是UIAutomation並沒有它第一次出現那麼可怕:我寫了一個tutorial,它可以幫助你開始 - 按照鏈接,你還會發現一些輔助方法馴服UI自動化API有點。
2
沒有理由不寫單元測試ViewModels是否與視圖正確分離。
A 冒煙測試是一個測試,實際上啓動您的應用程序並檢查它的工作原理和(對於具有UI的應用程序)UI自動化是實現這一目標的方法。
相關問題
- 1. 爲什麼冒煙測試對持續集成有用?
- 2. 樞紐的Cloud Foundry安裝在冒煙測試失敗
- 3. 爲什麼「煙霧測試」稱爲「煙霧測試」?
- 4. 測試使用假冒的WCF服務
- 5. 粒子系統 - 煙囪冒煙運動方向
- 6. MSTest:使用TestContext編寫單元測試
- 7. 如何使用httprouter編寫測試
- 8. 編寫JUnit測試
- 9. C#wpf UnitTesting viewmodels
- 10. 設置內容冒煙,隱藏表
- 11. 抽菸測試有多複雜?
- 12. 如何使用testng標記進行煙霧迴歸測試
- 13. 自動化測試仍稱爲煙霧測試?
- 14. MVVM WPF - Viewmodels的用法
- 15. WPF DataBinding之間ViewModels
- 16. 爲Laravel包編寫測試
- 17. CakePHP:編寫殼測試表
- 18. 爲async.parallel編寫測試。
- 19. CPPUnit如何編寫測試?
- 20. 如何編寫JUnit測試?
- 21. 編寫額外的測試
- 22. 如何編寫測試類
- 23. 爲tensorflow編寫測試
- 24. 爲DAO編寫測試
- 25. 如何爲WPF命令綁定編寫測試?
- 26. Laravel Cashier假冒用戶訂購測試
- 27. 如何編寫作業測試用例
- 28. 爲`用戶#索引'編寫Rspec測試
- 29. 用.NET編寫的單元測試COM
- 30. 編寫DAO的Junit測試用例