使用 .Net MVC 4、RavenDB、MSTest。
我按照 RavenDB 文档创建了一个抽象控制器类,该类在 OnActionExecuting() 中创建 RavenSession,并将数据保存在 OnActionExecuted() 中。
我正在尝试对我的控制器进行单元测试,但 OnActionExecuting() 和 OnActionExecuted() 方法永远不会触发。这意味着永远不会创建会话,并且我无法访问数据库 - 因此单元测试失败。
在单元测试中,我调用控制器方法如下:
PersonController controller = new PersonController();
JsonResult result = controller.GetPerson("people/1");
PersonController.GetPerson触发,但是当 RavenSession 没有值时很快就会出错(它应该在上面提到的抽象类方法中实例化)。
PersonController派生自抽象类RavenController。 Raven 控制器定义了 OnActionExecuting() 和 OnActionExecuted() 方法,但它们从未被调用。
我应该在单元测试中以另一种方式调用控制器方法吗?