Rhino Mocks存根只返回null

时间:2016-04-05 12:03:56

标签: c# rhino-mocks

我一直在打扰这一天。互联网上没有关于此事的任何内容。我有一个简短的功能。当在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。

1 个答案:

答案 0 :(得分:0)

我通过创建一个具体的类来解决这个问题。

Info info = new Info();

_managementDataController
          .Stub(s => s.GetManagementByID(1))
          .Return(info);

我不知道为什么会这样。我猜你在返回方法中发送一个类时,闭包不起作用。