Asp.net mvc 在Rhino Mock中部分模拟ASP.NETMVC操作方法?

Asp.net mvc 在Rhino Mock中部分模拟ASP.NETMVC操作方法?,asp.net-mvc,controller,mocking,rhino-mocks,Asp.net Mvc,Controller,Mocking,Rhino Mocks,我是Rhino新手,想知道如何在我也要模拟的类的方法中模拟局部变量/对象。在本例中,我将使用ASP.NETMVC控制器和操作方法来实现它 以下是控制器的简化外观: public class HomeController : Controller { public myObjectType myMockedObject; //I want to mock this public myNonMockedObject; //don't want to mock th

我是Rhino新手,想知道如何在我也要模拟的类的方法中模拟局部变量/对象。在本例中,我将使用ASP.NETMVC控制器和操作方法来实现它

以下是控制器的简化外观:

public class HomeController : Controller  {

   public myObjectType myMockedObject; //I want to mock this
   public myNonMockedObject;           //don't want to mock this
   public ViewResult Index() {
     //call various methods on the mocked and nonmocked members
     return View();
   }
}

换句话说,我想创建一个模拟主控制器,并模拟其中的一些局部变量及其方法——但不是全部。使用Rhino可以吗

您可以通过构造函数参数注入这些参数。只需编写以myObjectType为参数的构造函数。在这个构造函数中,只需初始化字段

注1:如果要运行MVC,您还需要无参数ctro,或修改ConstructorFactory(如此处)。或者考虑使用一些IoC容器(例如),它可以在控制器内部注入您想要的任何内容(模拟或普通类)

注意2:您应该从myObjectType类中提取一个接口,并模拟该接口而不是具体的类(Rhino处理得更好)


注3:我通常尝试将所有逻辑(并单独测试)放在控制器之外,因为测试控制器非常困难(您需要初始化很多东西,其中包括另一个模拟)。

什么类型的myObjectType?接口还是普通类?