私の汎用クラスは、コンストラクタでFunc <T>パラメータを受け取り、基本的にコンストラクタパラメータを呼び出すメソッドの1つをテストしたいと思います。
私は部品番号を使用して、私のテストコードでは、このようなものです:私のFuncを確認する方法
[Fact]
public void Construct_EnsureInvokeFunction()
{
_objectToTest=new TypeToTest<T>(It.IsAny<Func<T>>());
_objectToTest.Construct();
//here I want to ensure that the passed parameter is invoked
//however since I can't mock Func<T>, I dont know how to verify
//whether Invoke method of Func<T> is triggered
}
一つ私が考えることができる回避策は、新しいインターフェースの内側に私のFunc <T>をラップし、それはInvokeメソッドだラップするメソッドを作成することですMoqを使用してインタフェースをモックします。しかしそれは効果的ではないようです。
何か不足していますか?任意のアイデアが評価されます。
おかげで、
アントン
おかげで、あなたの答えは正しいですが、マルティーニの答えは最初に来ました。 –