2012-06-16 4 views
0

두 개의 입력 매개 변수 (문자열, int 등)를 사용할 수있는 컨트롤러 메서드가 있습니다. 이 메서드에서 각 매개 변수를 선언하고 싶지 않기 때문에이 매개 변수에 매핑되는 속성을 사용하여 클래스를 만들었으므로이 메서드의 유일한 매개 변수는이 클래스의 인스턴스입니다. 메서드가 호출되면 개체의 속성은 이름에 따라 인수 값으로 채워집니다.ASP.NET MVC에서 컨트롤러 메서드 매개 변수로 사용하는 인터페이스

이제이 방법을 단위 테스트하고 싶습니다. 그래서이 클래스의 가짜를 메서드에 보내고 싶습니다. 처음에는 클래스의 모의목을 만들어 메서드에 보냈습니다. mock 프레임 워크가 가상 키워드에 액세스 할 수 있도록 가상 키워드로 모의 객체 내부에 설정하려는 모든 속성을 표시해야한다는 점을 제외하고는 정상적으로 작동했습니다.
그 때문에이 클래스가 구현하는 인터페이스를 만들 수 있다고 생각했으나 인터페이스를 컨트롤러 메서드에 인수로 보낼 수 없습니다.

수동으로 입력 매개 변수를 개체의 속성에 바인딩 할 수 있습니까? 예를 들어 컨트롤러의 생성자를 통해 인터페이스를 삽입 한 다음 속성에 대한 입력 값의 수동 바인드를 트리거하려면? 난 당신이 컨트롤러를 테스트하기 위해 노력하고 그것을 이해하고 모델 클래스의 모의를 사용해야하는 경우

나는 ASP.NET MVC 3

+2

몇 가지 코드를 공유 할 수 있습니까? –

답변

0

을 사용하고 있습니다.

첫 번째 생각은 왜 모델 클래스의 실제 인스턴스를 사용할 수 없습니까?

아마도 모델 클래스는 ... 종속 또는 분리 할 부작용이있다

는 경우에, 어쩌면 모델 클래스는 너무 많은거야?

관련 문제