我有問題嘲諷的一套接口:有嘲諷接口的「新」成員起訂量
interface IFoo
{
object Blah { get; }
}
interface IBar : IFoo
{
new string Blah { get; }
}
我嘗試作爲嘲諷:
var mock = new Mock<IFoo>();
mock.SetupGet(m => m.Blah).Returns("Blah");
這現在工作:
Assert.That(mock.Object.Blah, Is.EqualTo("Blah"));
問題是,當我添加以下內容時,爲IBar
接口也有一個值,值爲IFoo.Blah
是空的。
var bar = mock.As<IBar>();
bar.SetupGet(m => m.Blah).Returns("Blah");
這現在工作:
Assert.That(((IBar)mock.Object).Blah, Is.EqualTo("Blah"));
但舊的失敗:
Assert.That(mock.Object.Blah, Is.EqualTo("Blah"));
// mock.Object.Blah is null now
有沒有辦法讓這兩個工作?
似乎將'mock.As'調高 –
2011-03-02 17:15:44