silverlight MVVM模式中的单元测试viewmodel
我需要使用prism在Silverlight应用程序中对视图模型进行单元测试。这里,需要测试的视图模型只有一个构造函数,它将silverlight MVVM模式中的单元测试viewmodel,silverlight,unit-testing,mvvm,Silverlight,Unit Testing,Mvvm,我需要使用prism在Silverlight应用程序中对视图模型进行单元测试。这里,需要测试的视图模型只有一个构造函数,它将Dispatcher和EventAggregator作为参数: public MyViewModel( IDispatcher dispatcher, IEventAggregator aggregator ) : base(dispatcher, aggregator) {...} 如何在我的代码中模拟Dispatcher和EventAggregator
Dispatcher
和EventAggregator
作为参数:
public MyViewModel( IDispatcher dispatcher, IEventAggregator aggregator )
: base(dispatcher, aggregator) {...}
如何在我的代码中模拟Dispatcher和EventAggregator参数,以便创建我的视图模型的实例?两个ctor参数都是由接口抽象的,因此对于UnitTest,您可以编写两个模拟,每个模拟实现一个接口,并使用它们
public class DispatcherMock : IDispatcher { ... }
public class EventAggregatorMock : IEventAggregator { ... }
var sut = new MyViewModel(new DispatcherMock(), new EventAggregatorMock());
…或者您可以添加(我正在使用的模拟框架)并让框架处理接口细节,您不必自己实现它:
var dispatcherMock = new Mock<IDispatcher>();
var aggregatorMock = new Mock<IEventAggregator>();
var sut = new MyViewModel(dispatcherMock.Object, aggregatorMock.Object);
var dispatcherMock=new Mock();
var aggregatorMock=new Mock();
var sut=新的MyViewModel(dispatcherMock.Object、aggregatorMock.Object);