2017-08-18 11 views
0

に変換することはできません。これは簡単な質問ですが、私には悩まされています。私は模擬テストをセットアップしようとしており、戻り値の型に問題があります。私はエラーが取得していますタスク<internface>をタスク<IEnumerable <Interface>>

private IClassService classService; 
var mockClassService = new Mock<IClassService>(); 
mockClassService.Setup(c => c.GetClasses(It.IsAny<int>())) 
    .Returns(() => { return Task.FromResult<IClassInfo>(new ClassInfo()); }); 
classService = mockClassService.Object; 

「タスク< IEnumerable<IClassInfoにタスク< IClassInfo>から変換することはできません>>」

私はIClassInfoの新しいリストを返すために持っていますが、私を包むように見えることはできません知っていますどのように周りを頭。誰かが私にある方向を教えてくれますか?

+1

'new [] {new ClassInfo()}'は 'IEnumerable ' – juharr

答えて

1

使用すると、1つの結果でClassInfoや空のコレクションのための

return Task.FromResult<IEnumerable<IClassInfo>>(Enumerable.Empty<IClassInfo>()); 

をしたい場合だけreturn

return Task.FromResult<IEnumerable<IClassInfo>>(new[] {new ClassInfo()}); 

に変更します。あなたは、あなたのテストが何を求めているかに応じて nullを入れても、実際に重要な部分は FromResultの正しいタイプを得ています。

+0

として動作します。ありがとうございました!これはまさに私が探していたものです。どのように私はこれを逃したのか分からない。 – GLCoder

関連する問題