我正在尝试为 ASP.NET MVC Controller 方法编写测试。我有 RhinoMocks(因为它似乎是最受欢迎和最受支持的)和 MvcMockHelpers (因为我似乎需要它)。
我的测试方法是这样的:
var controller = new MyController();
MvcMockHelpers.SetFakeControllerContext(mocks, controller);
mocks.ReplayAll();
var result = controller.MyAction(arg1, arg2);
// then i'd make assertions on the result
这是行不通的,因为 RouteData 没有条目,而 MyAction 取决于在那里设置了一堆值,比如“controller”和“action”。
我知道我可以为我想调用的每个 Controller 方法构建自定义 RouteData,但这看起来很愚蠢。 ASP.NET MVC 的哪一部分负责设置它,我如何才能进入该代码路径?
(我觉得在这里完全迷路了,所以如果我找错了树,也请告诉我。)
最佳答案
我在使用 RhinoMocks 的 MvcContrib Test Helper 中找到了最好的运气。
MVC Contrib 项目在 CodePlex 上
关于c# - ASP.NET/MVC + MvcMockHelpers + RhinoMocks,谁设置RouteData?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1412653/