Unit testing I';m使用DI将dispatcher从视图传递到ViewModel。如何对此进行单元测试

Unit testing I';m使用DI将dispatcher从视图传递到ViewModel。如何对此进行单元测试,unit-testing,mvvm,dispatcher,Unit Testing,Mvvm,Dispatcher,在我的WPF MVVM多线程应用程序中,我正在将dispatcher从视图传递到viewmodel public ViewModel(Dispatcher dispatcher) { _dispatcher = dispatcher; } 因此,ViewModel可以随意调用_dispatcher上的Invoke。我的单元测试必须在其中注入一个dispatcher。如何做到这一点。要在UI上进行单元测试,您需要在单元测试中创建环境,以调用视图模型中的任何方法。 在您的情况下,我认为您需要使用一

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

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

因此,ViewModel可以随意调用_dispatcher上的Invoke。我的单元测试必须在其中注入一个dispatcher。如何做到这一点。

要在UI上进行单元测试,您需要在单元测试中创建环境,以调用视图模型中的任何方法。
在您的情况下,我认为您需要使用一些框架来创建环境,例如制作一个界面IDispatcher并将其传递给您的ViewModel。通过这种方式,您可以轻松地对其进行测试,并且还具有一个额外的好处,即您的虚拟机可以更跨平台,因为您现在可以插入WinStore和WinPhone实现