繁体   English   中英

如何在WPF中对Test View模型和Mvvm应用程序模型进行单元测试

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM