は、次のインターフェイス...私はfakeiteasyでこのプロパティのget
関数への呼び出しをスタブアウトしようとしていますどのようにプロパティを取得するために呼び出しをスタブしますか?
public interface MyInterface
{
bool MyProperty { get; }
}
を考えてみましょう。
[Test]
public void Foo()
{
var fake = A.Fake<MyInterface>();
var sut = new MySUT(fake);
A.CallTo(() => fake.MyProperty).Returns(true);
var result = sut.Foo();
Assert.IsTrue(result);
}
システムアンダーテストのFoo()メソッドは、単にMyProperty getプロパティ呼び出しの値を返します。残念ながら、このテストは常に失敗します。デバッグすると、get
プロパティは常にfalseを返すようです。
get
プロパティ呼び出しの戻り値をスタブアウトするにはどうすればよいですか?
EDIT - (コメントで要求されるように)
public class MySUT
{
private readonly MyInterface _myInterface;
public MySUT(MyInterface myInterface)
{
_myInterface = myInterface;
}
public bool Foo()
{
return _myInterface.MyProperty;
}
}
具体的なMySUTコンストラクタとMySut.Foo()はどのように実装されていますか? –