我一直在打扰这一天。互联网上没有关于此事的任何内容。我有一个简短的功能。当在rhino mocks中调用它时它只返回null但我希望它返回一个不同的值。看看:
[Test]
public void GetViewingInfo_Throw_WhenViewingIDReturnsNull()
{
_managementDataController
.Stub(s => s.GetManagementByID(1))
.Return(new Info(){ApprovedByEmployeeID = 123});
Assert.Throws<InvalidOperationException>(() =>
_managementBusinessController.GetViewingInfo(1));
}
现在基本上.Return(new Info(){ApprovedByEmployeeID = 123});
总是返回null。我做错了吗?
以下是GetViewingInfo
代码:
var manage = _managementDataController.GetManagementByID(managementID);
InvalidValueGuard.ThrowInvalidOperationExceptionOn(() => manage == null, "");
我在InvalidValueGuard上放了一个断点,管理变量总是返回null。
答案 0 :(得分:0)
我通过创建一个具体的类来解决这个问题。
Info info = new Info();
_managementDataController
.Stub(s => s.GetManagementByID(1))
.Return(info);
我不知道为什么会这样。我猜你在返回方法中发送一个类时,闭包不起作用。