6
我正在为我的View Model类编写一些单元测试。这个类的构造函数注入了一个ILoggerService。这个接口定义了1个返回一个ILogger的方法GetLog。类似下面,其中这表示实现ILoggable类: -如何使用Moq模拟ILogger/ILoggerService
protected ViewModelBase(ILoggerService loggerService)
{
Logger = loggerService.GetLog(this);
}
我试图单元测试,看起来像下面我CreateNewOrder方法:
private void CreateNewOrder(INewOrderViewModel newOrderViewModel)
{
Logger.Log("Sending Create New Order Message", LogCategory.Info);
var createNewOrderMessage = new OrderMessage(newOrderViewModel);
_eventAggregator.GetEvent<CreateOrderEvent>().Publish(createNewOrderMessage);
}
我怎么会去关于嘲笑ILoggerService以便返回有效的记录器?目前我的单元测试抛出一个NullReferenceExeception。
我正在使用Moq做我的嘲弄。
我想象我需要做的沿
var loggerService = new Mock<ILoggerService>();
loggerService.Setup(svc => svc.GetLog(??))
线的东西,但我看不出没有让我的测试类实现ILoggable。
在此先感谢。
辉煌。这很有用。非常感谢 – user630190 2012-03-20 12:55:58
作为参考,我使用类似:'var loggerMoq = Mock.Of>();' –
Nordes
2018-02-08 03:58:40