【发布时间】:2010-09-09 21:41:13
【问题描述】:
代码如下:
public interface IAccessPoint
{
int BackHaulMaximum { get; set; }
bool BackHaulMaximumReached();
void EmailNetworkProvider();
}
public class AccessPoint : IAccessPoint
{
public int BackHaulMaximum { get; set; }
public bool BackHaulMaximumReached()
{
if (BackHaulMaximum > 80)
{
EmailNetworkProvider();
return true;
}
return false;
}
public void EmailNetworkProvider()
{
}
}
//Test
[Test]
public void NetworkProviderShouldBeEmailedWhenBackHaulMaximumIsReached()
{
var apMock = MockRepository.GenerateMock<IAccessPoint>();
apMock.Stub(x => x.BackHaulMaximum).Return(81);
Assert.AreEqual(true, apMock.BackHaulMaximumReached());
apMock.AssertWasCalled(x => x.EmailNetworkProvider());
}
【问题讨论】:
-
您发布代码并说它“失败”?你没有给出错误信息。
-
它说它应该是真的,但是是假的,我不知道为什么。我在我的模拟上调用 BackHalMaximumReached() 并且 Backhaulmaximum 设置为 81,所以它应该返回 true。
-
我有段时间没用了,BackHaulMaximum 不是必须是虚拟的才能被存根吗?
-
不,我有类似但不同的示例,并且可以通过,但这不起作用。
-
@user - 接口上的所有方法都是虚拟的。
标签: c# rhino-mocks rhino