私は次のように定義されたインタフェースがあります場合は、しかし、私のテストではMOQ:一般的なインタフェースを継承するモックインターフェイス
public interface IAccountRepository : IBaseRepository<AccountModel>
{
}
:
public interface IBaseRepository<T>
{
IQueryable<T> All();
}
その後を、私はこれを拡張するインタフェースを持っていますIAccountRepository
を偽り、IAccountRepository.All()
の設定を呼び出すと、MoqはReturns
メソッドを使用して結果を定義することができません。
var mockAccountRepository = new Mock<IAccountRepository>();
mockAccountRepository.Setup(x => x.All()).Returns(...); // "Returns" can't work here for some reason.
ジェネリックインターフェイスを継承するインターフェイスでベースメソッドをモックできますか?
どのようなエラーが表示されますか? 'IQueryable以外のものを返そうとしていますか? –
'Moqは返品メソッドを使用して結果を定義することを許可しません。 ' それはどういう意味ですか?例外をスローする、コンパイルエラー?より具体的にする必要があります。 –
補足として、私はリポジトリから 'IQueryable'を返すためのいくつかの研究を行います - それは利点がありますが、たくさんのリスクを作ります。 –