如何在wpf中对视图模型和Mvvm应用程序模型进行单元测试
本文关键字:模型 Mvvm 应用程序 单元测试 视图 wpf | 更新日期: 2023-09-27 18:19:28
你能给我推荐一些关于如何对MVVM应用程序的视图模型和模型进行单元测试的资源吗。
我将使用rhino-mock作为模拟测试框架。
令人惊讶的是,我找不到任何具体的资源Josh Smith 的MVC到单元测试
但这对我没有帮助。
谢谢你的帮助。
ReactiveUI+Moq+Fluent断言的示例。
正如@Raghu已经指出的,测试常规类没有真正的区别,但可能有一些新的维度,比如如何测试基于时间的效果。这可以通过使用测试调度器的反应式扩展方法来回答。
在我博客中的一个例子中:
public class WordCounterViewModel : ReactiveObject {
public WordCounterViewModel(IObservable<string> someBackgroundTicker)
{
...
}
...
}
测试,包括一个模拟模型:
[TestMethod]
public void WordCounterViewModelTest()
{
var mock = new Mock<IObservable<string>>();
var vm = new WordCounterViewModel(mock.Object);
vm.WordCount.Should().Be(0);
vm.TextInput = "bla!";
vm.WordCount.Should().Be(1);
vm.TextInput = "bla, bla!!";
vm.WordCount.Should().Be(2);
}
如果您知道如何创建和运行单元测试,那么现在就应该能够测试视图模型了。
单元测试ViewModel与测试常规类没有任何不同。这就是MVC的美妙之处。您在视图中所做的就是调用方法。
我想您应该寻找如何编写可测试代码,而不是寻找为MVC编写单元测试的资源。
我建议您使用此链接:http://www.netsoft-usa.com/2010/09/unit-testable-code-using-model-view-presenter/