Isolatorで、(読み取り専用)プロパティに対してハードコードされていない値を返すことは可能ですか?
これは、偽造されたオブジェクトを、必要な動作で明示的に定義されたプロパティを持つ具象クラスの新しいインスタンスと交換しないと不可能と思われます(必要なデータにアクセスするには、おそらくテストメソッドへの参照が必要になります)。
public class MyClass
{
public int Number { get; private set; }
}
[Test]
public void TestPropertyGetter_ReturningNonHardCodedValuesIsolator()
{
var fake = new MyClass();
var x = 0;
Isolate.WhenCalled(() => fake.Number).WillReturn(x);
x++;
Assert.AreEqual(1, fake.Number);
}
理想的には、MOQ構文に相当する単純な1ライナーを探しています。
fake.SetupGet(x => x.Number).Returns(() => x);