Я пытаюсь написать тест для метода контроллера ASP.NET MVC. У меня есть 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».
Я знаю, что могу создать пользовательские данные RouteData для каждого метода контроллера, который я хочу вызвать, но это кажется глупым. Какая часть ASP.NET MVC отвечает за настройку этого параметра и как я могу получить этот путь к коду?
(Я чувствую себя совершенно потерянным, поэтому, если я лаю не на том дереве, дайте мне знать об этом тоже.)