我的问题如下:
我有 ms 单元测试,它使用 stub http 上下文进行 mvc 路由测试。但是有一部分代码(使用了 rhino mock)是有问题的:
var httpContextMock = MockRepository.GenerateStub<HttpContextBase>();
httpContextMock.Stub(c => c.Request.AppRelativeCurrentExecutionFilePath)
.Return(url);
在 Debug模式下,第二行抛出异常:
为什么会出现这样的错误?虽然在没有调试器的情况下触发测试,但一切正常。
问候
最佳答案
这真的很奇怪。令我感到奇怪的是您的代码在非 Debug模式下工作。 Request
属性未 stub ,因此您无法真正知道它会返回什么。您可以尝试以下操作:
var httpContextMock = MockRepository.GenerateStub<HttpContextBase>();
var httpRequestMock = MockRepository.GenerateStub<HttpContextBase>();
httpContextMock.Stub(c => c.Request).Return(httpRequestMock);
httpRequestMock.Stub(c => c.AppRelativeCurrentExecutionFilePath).Return(url);
关于c# - Rhino Mock 与 Debug模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7345178/