Moq에서 조롱 된 개체의 메서드에 대한 기대치를 설정하려고합니다. 동시에, Ninject를 사용하여 호출자가 해당 인터페이스를 원할 때마다 커널이 내 모의 작업을 반환하도록합니다. 더 명확하게하기 위해 다음은 몇 가지 의사 코드입니다의존성 주입 및 모의 프레임 워크 .net
Class Car {
Void buildChassis() {
Engine = ObjectBuilder.get<Iengine>()
Engine.performCheckup()
}
}
buildChassis를 테스트 할 때 mocked Engine을 플러그인하고 싶습니다.
Mock<Iengine>().setup().etc.etc.etc
그러나 Moq은 Ninject와는 잘 맞지 않습니다. 나는 이것을 할 수 없습니다. DI와 조롱을 통합하는 강력한 소프트웨어 패키지가 있는지 궁금합니다. 나는 ninject.moq 패키지가 제대로 작동하지 못하고 성숙한 것 같지도 않습니다.
이는 경우에 당신은 정말에만 예를 들어, 목록에 추가, 클래스의 새로운 인스턴스를 생성하는 것과 필요합니까. 이 경우 어떻게 테스트 할 것입니까? (나는이 필요가있다 ...) –
@Andrei : IEngine 인스턴스를 생성하는 방법으로 IEngineFactory를 주입한다 (편도, 또한 위임자를 삽입 할 수있다). Moq가 팩토리를 모의 할 수 있다면 create 메소드의 반환 값을 설정하여 다른 모의 객체를 반환 할 수 있습니다. – TrueWill
http://www.tavaresstudios.com/Blog/post/Unity-20-Automatic-Factories.aspx도 참조하십시오. Ninject에이 기능이 있는지 확실하지 않습니다. – TrueWill