我正在編寫複雜的應用程序,其中是服務器和客戶端應用程序,如果我想在我的應用程序中添加一些新窗口,我需要運行服務器,然後運行客戶端,然後登錄點擊幾個按鈕,然後到達我現在正在開發的窗口,這很煩人,需要很多時間。所以現在我正在尋找一些解決方案,我可以運行測試,只能使用模擬服務運行我的wpf表單(所以我不需要運行服務器,不需要登錄),可以點擊或觸發事件並檢查控件出現並按我想要的方式行事。 在這種情況下,我可以節省大量的時間,因爲當我試圖通過運行整個應用程序來實現我的表單時,我不需要浪費時間,因爲我需要使用登錄,搜索繞過一些驗證表單等。 如果已經很簡單解決方案然後它會很好。如何測試WPF表單?
2
A
回答
4
看看MVVM模式。
0
你使用任何類型的dependency injection?這很容易,如果是這樣,你可以簡單地使用mocking framework與#if-else directives
的組合來創建假的版本。某處在您的應用程序啓動代碼:
ILoginService service;
#if DEBUG
service = A.Fake<ILoginService>();
// you could even set up your fakes to return logged user to
// automate logging in process:
var userFake = A.Fake<IUser>();
A.CallTo(() => service.LogIn(A<string>.Ignored)).Returns(userFake);
#else
service = new RealLoginService();
#endif
var myWindow = new MyWindow();
var viewModel = new ViewModel(service);
myWindow.DataContext = viewModel;
// ...
所有你需要的是ViewModel
(假設你使用這樣的)能夠採取ILoginService
依賴。然後你可以根據自己的喜好嘲笑/僞造它。
相關問題
- 1. 如何在VS08單元測試框架中測試WPF組件?
- 2. 單元測試WPF綁定
- 3. 單元測試WPF UserControls
- 4. WPF單元測試框架
- 5. WPF單元測試DirectoryNotFoundException
- 6. WPF和ICUTest單元測試
- 7. 單元測試Wpf綁定
- 8. 如何測試WPF StyleSelector?
- 9. 如何在Visual Studio中加載wpf表單後單元測試控件的值?
- 10. 如何測試網絡表單?
- 11. 如何測試Django表單ImageField
- 12. Android單元測試:我如何測試?
- 13. 單元測試場景 - 如何測試?
- 14. WPF棱鏡4單元測試
- 15. 單元測試「混合」WPF/Silverlight控件
- 16. 如何測試WPF用戶界面?
- 17. 如何在單元測試項目中使用WPF窗口
- 18. 如何單元測試AOP?
- 19. 如何寫測試單元
- 20. 如何測試菜單
- 21. 如何mvcmock單元測試
- 22. 如何angularjs單元測試
- 23. 如何單元測試NSCoding?
- 24. .net單元測試 - 如何做UI單元測試
- 25. Android:單元測試:如何使用SensorManager創建單元測試?
- 26. 單元測試建議 - 如何單元測試您的.asmx
- 27. 如何調試Django單元測試?
- 28. Xamarin表單UI測試
- 29. 如何表示midje測試
- 30. NHibernate如何使單元測試簡單?