Microsoft Moles は初めてです。Moles によって生成されたスタブ クラスのインスタンスを作成しようとしましたが、デバッグすると、必要のない actaul クラス コンストラクターが呼び出されます。Molesでこれを達成する方法。理解を深めるために、以下にサンプルコードを提供します
public class BaseClass
{
public BaseClass()
{
MarkNew();
}
protected void MarkNew()
{
this.State = ObjectState.New;
MarkChild();
}
protected virtual void MarkChild()
{
}
public ObjectState State { get; private set; }
}
public class DerivedClass : BaseClass
{
public DerivedClass() : base()
{
}
public string FileName { get; set; }
public string Value { get; set; }
}
[PexMethod]
[HostType("Moles")]
public void ReadContentTest(string content)
{
// Arrange.
SDerivedClass derivedObject = new SDerivedClass();
derivedObject.FileName = "test.txt";
var fs = new SIFileSystem();
fs.ReadAllTextString = delegate(string fileName)
{
PexAssert.AreEqual(derivedObject.FileName, fileName);
return content;
};
// Act.
var test = new TestReaderWithStubs(fs);
test.ReadContent(derivedObject);
// Assert.
PexAssert.IsTrue(content == derivedObject.Value);
}
よろしくお願いします シヴァ