저는 providerbase 클래스에서 상속받은 몇몇 제공자를 C#으로 작성했습니다. 나는 대부분의 조롱하는 프레임 워크가 단지 당신이 인터페이스를 조롱하는 것을 허락 할 것이기 때문에 제공자를 사용하는 테스트를 작성하는 것이 어렵다는 것을 발견했다.인터페이스가 아닌 모의 클래스
providerbase에서 상속 한 공급자에게 호출 할 수있는 방법이 있습니까?
그렇지 않은 경우 제공자 조롱을 구현하는 데 사용할 수있는 패턴이 있습니까?
저는 providerbase 클래스에서 상속받은 몇몇 제공자를 C#으로 작성했습니다. 나는 대부분의 조롱하는 프레임 워크가 단지 당신이 인터페이스를 조롱하는 것을 허락 할 것이기 때문에 제공자를 사용하는 테스트를 작성하는 것이 어렵다는 것을 발견했다.인터페이스가 아닌 모의 클래스
providerbase에서 상속 한 공급자에게 호출 할 수있는 방법이 있습니까?
그렇지 않은 경우 제공자 조롱을 구현하는 데 사용할 수있는 패턴이 있습니까?
에서 살펴 봐야 할 수 있습니다.
너무주의 사항 : 클래스를 봉인 할 수 없습니다. 가상 모의 메소드를 표시해야하고 클래스에 인수가없는 생성자가 필요합니다.이 클래스는 보호 될 수 있으며 private은 작동하지 않습니다. (방금 시도해 보았습니다)
조롱 프레임 워크는 클래스에서 상속 받고 해당 유형의 객체를 만드는 클래스를 만들 것입니다. 그래서 생성자가 호출됩니다. 이로 인해 테스트에서 예기치 않은 동작이 발생할 수 있습니다.
RhinoMocks 또는 Moq은 인터페이스뿐만 아니라 클래스에 대한 테스트 복식을 작성합니다. 유형은 가상 메소드를 가지고 있거나 추상적이어야합니다. Typemock 격리 장치가이 문제를 해결합니다.
모의하려는 개체가 추상적이어야합니다 (dependency inversion principle).
"공급자"는 ASP.NET 공급자를 말하고 있습니까? –