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