コンストラクターにデフォルトのパラメーターを持つ抽象クラスを Moq したいと思います。これは、デフォルトが設定されていることをテストしたり、特定の値をテストしたりできるようにするためです。例(注、これは純粋にサンプルクラスです)
public abstract class AbstractClassToTest
{
private string _name;
private int _someInt;
private int _anotherInt;
public AbstractClassToTest(string name, int someInt = 10, int anotherInt = 20)
{
_name = name;
_someInt = someInt;
_anotherInt = anotherInt;
}
}
Moq オブジェクトを次のようにセットアップします。
var act = new Mock<AbstractClassToTest>(MockBehavior.Loose, "namestring");
しかし、これはエラーをスローします...
Message "Can not instantiate proxy of class:
Test.AbstractClassToTest.
Could not find a constructor that would match given arguments:
System.String
Parameter name: constructorArguments"
オブジェクトを moq で作成し、デフォルトのままにするにはどうすればよいですか?
Moq: v 4.0.10827.0