我使用DI将调度程序从View传递给ViewModel。如何对此进行单元测试

时间:2014-03-22 13:05:06

标签: unit-testing mvvm dispatcher

在我的WPF MVVM多线程应用程序中,我将调度程序从视图传递到viewmodel,

public ViewModel(Dispatcher dispatcher)
{
_dispatcher = dispatcher;
}

这样ViewModel就可以随意调用_dispatcher上的Invoke.My单元测试必须将Dispatcher注入其中。怎么做。

2 个答案:

答案 0 :(得分:2)

创建一个接口IDispatcher并将其传递给ViewModel。通过这种方式,您可以轻松地对其进行测试,并且还可以使您的VM更加跨平台,因为您现在可以插入WinStore和WinPhone实现。

答案 1 :(得分:0)

要在UI上进行单元测试,您需要在单元测试中创建环境以调用视图模型中的任何方法。 在您的情况下,我认为您需要使用一些框架来创建环境,例如Moq