0
내가 가지고있는 경우 controller
않는이 :MVC 컨트롤러에 mocking을위한 매개 변수화 된 생성자가 필요합니까?
//MyController
public ActionResult MyMethod(string someString)
{
object test = new object();
(new MyClassA()).DoSomething(test);
return View();
}
나는 그것을 MyClassA
의 조롱 버전을 통과 할 수 있도록 내가이 컨트롤러에 대한 constructor
를 작성해야합니까?
//Test
Mock<IMyClassA> a = new Mock<IMyClassA>();
a.Setup(m => m.DoSomething(new object());
MyController controller = new MyController(a.Object);
을 예, 당신이 당신의 컨트롤러에 대한 기본 생성자가 없다면. – Jason
테스트를 위해 추가 생성자를 만들어야합니다. 그 나쁜 연습인가? – 4thSpace
컨트롤러 테스트를 작성하든하지 않든 관계없이 두 번째 방법 (생성자를 사용하는 종속성 삽입과 함께 IoC)을 수행해야한다고 말하는 사람들이 있습니다. –