2016-07-12 28 views
4

NSubstituteを使用して、タスクを返すメソッドに例外がスローされるのをどうやって模擬しますか?NSubstitute - メソッドを返すメソッドで例外をスローするタスク

私たちのメソッドのシグネチャは次のようになりましょう:

Task<List<object>> GetAllAsync(); 

はここNSubstituteドキュメントがvoid以外の戻り値の型の例外をスローする模擬すると言う方法です。しかし、これはコンパイルされません:(あなたはこれを実現しますどのように

myService.GetAllAsync().Returns(x => { throw new Exception(); }); 

答えて

8

これは働いていた:?

using NSubstitute.ExceptionExtensions; 

myService.GetAllAsync().Throws(new Exception()); 
0

これは私のために働いていたものです:

myService.GetAllAsync().Returns(Task.Run(() => ThrowException())); 

private List<object> ThrowException() 
{ 
     throw new Exception(); 
} 
関連する問題