【发布时间】:2010-10-12 09:59:57
【问题描述】:
我可以在运行时更改存根的行为吗?比如:
public interface IFoo { string GetBar(); }
[TestMethod]
public void TestRhino()
{
var fi = MockRepository.GenerateStub<IFoo>();
fi.Stub(x => x.GetBar()).Return("A");
Assert.AreEqual("A", fi.GetBar());
fi.Stub(x => x.GetBar()).Return("B");
Assert.AreEqual("B", fi.GetBar()); // Currently fails here
}
我的代码示例在给定的行中仍然失败,fi.GetBar() 仍然返回 "A"。
或者还有其他技巧可以对行为随时间变化的存根进行建模吗?我宁愿不使用fi.Stub(...).Do(...)。
啊,我可能只需要精美手册的硬拷贝,以便有人用它打我的头。看起来应该很明显,但我找不到。
【问题讨论】:
-
试试
fi.Stub(x => x.GetBar()).Return("A").Repeat.Once();和fi.Stub(x => x.GetBar()).Return("B").Repeat.Once();
标签: c# unit-testing rhino-mocks