1
我想做一個非常簡單的事情:設置一個屬性的初始值,調用回調應修改屬性值的方法,並在最後讀取屬性。如何激活將被間接修改的屬性?
Class Test2正在使用ITest1自動化某些操作。
public interface ITest1
{
decimal Value { get; set; }
void Increment();
}
public class Test2
{
ITest1 test1;
public Test2(Itest1 test1)
{
this.test1 = test1;
}
public void Increment()
{
this.test1.Increment();
}
public Get()
{
return this.test1.Value;
}
}
爲了實現這種行爲我設置好的了這個測試:
[TestClass]
public class Test2Test
{
private Test2 test2;
private decimal value;
[TestInitialize]
public void Setup()
{
var test1Mock = new Mock<ITest1>();
test1Mock.SetupGet(m => m.Value).Returns(value);
test1Mock
.Setup(m => m.Increment())
.Callback(() => value++);
this.test2= new Test2(test1Mock.Object);
}
[TestMethod]
public void Get_Returns0()
{
Assert.AreEqual(0, this.test2.Get());
}
[TestMethod]
public void Get_AfterIncrement_Returns1()
{
this.test2.Increment();
Assert.AreEqual(1, this.test2.Get());
}
}
第二個測試總是返回0。這究竟是爲什麼?
什麼是'this.counter'? –
@HamletHakobyan它的錯字,固定謝謝。 – JoanComasFdz
可能重複[MOQ - 如何使用SetupGet/SetupSet手動創建支持屬性](http://stackoverflow.com/questions/5578269/moq-how-to-manually-create-a-backing-property-using -setupget-setupset) –