[英]How to Unit Test View Model and Model of a Mvvm application in wpf
您能为我提供一些有关如何对MVVM应用程序的视图模型和模型进行单元测试的资源。
我将使用rhino-mock作为模拟测试框架。
出乎意料的是,我找不到任何具体资源。我研究了MVC进行Josh Smith的单元测试
但这并没有帮助我。
谢谢您的帮助。
对ViewModel进行单元测试与测试常规类没有什么不同。 这就是MVC的优点。 您在视图中所做的全部就是调用方法。
我猜您应该在寻找如何编写可测试的代码,而不是寻找用于编写MVC单元测试的资源。
我会向您推荐此链接: http : //www.netsoft-usa.com/2010/09/unit-testable-code-using-model-view-presenter/
一个带有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);
}
如果您知道如何创建和运行单元测试,则现在应该可以测试您的视图模型。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.