私はView Modelクラスの単体テストを書いています。このクラスのコンストラクタには、ILoggerServiceが挿入されます。このインタフェースは、ILoggerを返す1つのメソッドGetLogを定義します。 このがILoggableを実装するクラスを表し、以下のような何か: -Moogを使って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);
}
を有効なLoggerが返されるようにILoggerServiceをMockingしていますか?現時点では、ユニットテストでNullReferenceExeceptionがスローされます。
私はモックをするためにMoqを使用しています。
私は
var loggerService = new Mock<ILoggerService>();
loggerService.Setup(svc => svc.GetLog(??))
の線に沿って何かをする必要がある。しかし、私は私のテストクラスがILoggableを実装することなく、どのように見ることができません想像しています。
ありがとうございます。
ブリリアント。それは治療に効果があった。ありがとうございました – user630190
参考までに、私は次のようなものを使います: 'var loggerMoq = Mock.Of>();' –
Nordes