■環境
Windows 10 Pro 21H2 64bit 日本語版 build 19044.1387
Visual Studio Professional 2019 日本語版 ver.16.11.7
Prism Template Pack 2.3.0
.NET 5.0
Prism.Core 8.1.97
■質問の概要
PrismでViewModelのユニットテストを行う際に参考になるwebサイトや書籍があったらご紹介頂きたく思います。
■課題
WPF/Prism/MVVM/DIを一度に学習しはじめて、わけわからないことになってます...
そのうちの1つについて質問したく思います。
Prismのサンプルコードにある
C#
1public HogeViewModel(IRegionManager regionManager) 2{ 3 _regionManager = regionManager; 4 5 MyCommand = new DelegateCommand(() => 6 { 7 _regionManager.RequestNavigate("ContentRegion", nameof(FooView)); 8 }); 9}
みたいなViewModelについて、xUnitでユニットテストしようと思っています。
「Prism IRegionManager for test implementation」で検索をかけたところ、例えば以下のようなページが見つかりました。
https://github.com/PrismLibrary/Prism/issues/65
しかし本issueはクローズされており、中に出てくるMockRegionManagerで検索をかけても、実際にViewModelのコンストラクタに渡すインスタンスを生成しているコードが見つかりませんでした。
「IRegionManager Mock」で検索をかけたところ、以下のようなページが見つかりました。
https://stackoverflow.com/questions/62445269/unable-to-mock-regionmanager-activeviews-first
これを見るに、Moqというライブラリを使って必要なインターフェースを実体化すれば良さそうに思えます。しかし今度は見慣れない「IViewsCollection」というものが出てきました。こちらはdocs.microsoft.comにドキュメントページがありましたが、記述がほぼ何もない状態で、ユニットテストにとって何のために必要なのか、上記StackOverflowで示されるコードが自身のユニットテストにとって過不足ないのかどうかがよくわかりませんでした。
PrismにおけるViewModelのユニットテストについて、網羅的に扱っているwebサイトや電子書籍はないでしょうか。
回答2件
あなたの回答
tips
プレビュー