このアプローチを使用Action
して、Moq 単体テストで呼び出しを設定および検証できることを期待して、静的メソッド呼び出しを作成しました。
テストされているコードは次のとおりです。
public Action<Data> Calculate = x => CalculatorHelper.Calculate(x);
public void CalculateData(Data data)
{
...
Calculate(data);
...
}
テストは次のとおりです。
[Test]
public void CalculateIsCalled()
{
_mockService.Setup(x => x.Calculate = CalculatorHelper.Calculate)
.Verifiable();
...
_mockService.VerifyAll();
}
ただし、のパラメーターは、Setup()
「式ツリーに代入演算子を含めることはできません」というコンパイル エラーをスローしています。
明らかにコードx => x.Calculate = CalculatorHelper.Calculate
は間違っていますが、これをコーディングする正しい方法は何でしょうか?