- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我知道我能做到:
IDateTimeFactory dtf = MockRepository.GenerateStub<IDateTimeFactory>();
dtf.Now = new DateTime();
DoStuff(dtf); // dtf.Now can be called arbitrary number of times, will always return the same value
dtf.Now = new DateTime()+new TimeSpan(0,1,0); // 1 minute later
DoStuff(dtf); //ditto from above
如果 IDateTimeFactory.Now 不是一个属性,而是一个方法 IDateTimeFactory.GetNow(),我该怎么做呢?
根据下面 Judah 的建议,我重写了我的 SetDateTime 辅助方法,如下所示:
private void SetDateTime(DateTime dt) {
Expect.Call(_now_factory.GetNow()).Repeat.Any();
LastCall.Do((Func<DateTime>)delegate() { return dt; });
}
但它仍然会抛出“ICurrentDateTimeFactory.GetNow(); 的结果已经设置。”错误。
此外,它仍然无法与 stub 一起使用....
最佳答案
我知道这是一个老问题,但我想我会发布更新的 Rhino Mocks 版本。
根据之前使用 Do() 的答案,如果您使用 AAA in Rhino Mocks,则可以使用一种更简洁 (IMO) 的方式。 (从 3.5+ 版本开始可用)。
[Test]
public void TestDoStuff()
{
var now = DateTime.Now;
var dtf = MockRepository.GenerateStub<IDateTimeFactory>();
dtf
.Stub(x => x.GetNow())
.Return(default(DateTime)) //need to set a dummy return value
.WhenCalled(x => x.ReturnValue = now); //close over the now variable
DoStuff(dtf); // dtf.Now can be called arbitrary number of times, will always return the same value
now = now + new TimeSpan(0, 1, 0); // 1 minute later
DoStuff(dtf); //ditto from above
}
private void DoStuff(IDateTimeFactory dtf)
{
Console.WriteLine(dtf.GetNow());
}
关于.net - 犀牛 mock : Re-assign a new result for a method on a stub,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/123394/
我知道我能做到: IDateTimeFactory dtf = MockRepository.GenerateStub(); dtf.Now = new DateTime(); DoStuff(dtf
我有一段嵌入了 Rhino 的 Java 代码(省略了不相关的位): Context cx = Context.enter(); Scriptable scope = cx.initStandardO
我正在研究 Rhino (Mirth),我必须处理/解析具有以下结构的 XML: ... ... 我只想获取所有“foo”节点,尽可能避免使用循环。我一直在尝试类似的东西:
我是一名优秀的程序员,十分优秀!