Je suis en train de se moquer d'une méthode de dbWriteService qui renvoie une exception globale quand je l'appelle, même si tout n'est pas nulle. Je suis vraiment nouveau à moquer et rhinocéros, donc je n'ai pas vraiment le problème.Rhino Mock appeler une méthode async Tâche
Ceci est la partie que je veux railler dans la fonction que je veux tester:
public async Task<bool> SaveDataAsync(object data) {
...
await _dbWriteService.UpdateAsync(data);
...
}
Je raille le writeService comme ceci:
dbWriteService = MockRepository.GenerateStub<IDbWriteService>();
dbWriteService.Expect(service => service.UpdateAsync(null));
var wasSaved = subject.SaveDataAsync(data).Result;
dbWriteService.AssertWasCalled(service => service.UpdateAsync(null));
et je reçois une exception comme celui-ci :
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
J'ai essayé quelques petites choses avec la fonction simulée, mais je ne comprends pas pourquoi Ce truc ne marche pas. Quelqu'un pourrait-il m'expliquer cela?