すべてがnullではないにもかかわらず、呼び出し時に集約例外を返すdbWriteServiceメソッドをモックしようとしています。私はまったく新しいことを嘲笑して鼻を乱すので、実際には問題はありません。Rhino Mockが非同期タスクメソッドを呼び出す
これは私がテストに私が欲しい機能でモックとしたい部分です:
public async Task<bool> SaveDataAsync(object data) {
...
await _dbWriteService.UpdateAsync(data);
...
}
私はこのようなwriteServiceをからかっています:
dbWriteService = MockRepository.GenerateStub<IDbWriteService>();
dbWriteService.Expect(service => service.UpdateAsync(null));
var wasSaved = subject.SaveDataAsync(data).Result;
dbWriteService.AssertWasCalled(service => service.UpdateAsync(null));
と私はこのような例外を取得しています:
System.AggregateException: One or more errors occurred. ---> System.NullReferenceException: Object reference not set to an instance of an object.
at ClearingDataRepository.<SaveDataAsync>d__28.MoveNext() in ....\ClearingDataRepository.cs:line 170
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
at System.Threading.Tasks.Task`1.get_Result()
at UnitTests.Services.ClearingDataRepositoryTests.SaveDataAsync_Sucess() in ....\ClearingDataRepositoryTests.cs:line 90
私は嘲笑機能をいくつかのことを試してみましたが、私は理由WHを得ることはありませんこのことはうまくいきません。誰も私にこのことを説明できますか?