[C#] 단위 테스트에 IoC 사용


Answers

유닛 테스트에 IOC 컨테이너를 어떻게 사용할 수 있습니까?

IoC는 단위 테스트를 고립 된 (즉, mock을 사용하여) 더 쉽게 만들 수있는 프로그래밍 패러다임을 시행 할 것이다 : 인터페이스 사용, 새로운 (), 싱글 톤 없음 ...

그러나 테스트를 위해 IoC 컨테이너를 사용하는 것은 실제로 요구 사항이 아니며, 일부 기능 (예 : 모의 주입)을 제공하지만 수동으로 수행 할 수도 있습니다.

IoC를 사용하여 거대한 솔루션 (50 개 이상의 프로젝트)에서 모의를 관리하는 것이 유용합니까?

IoC를 사용하여 모의를 관리하면 무슨 뜻인지 알 수 없습니다. 어쨌든, IoC 컨테이너는 테스트와 관련하여 일반적으로 모의 (mock)를 주입하는 것 이상을 수행 할 수 있습니다. 리팩토링을 가능하게하는 적절한 IDE 지원이 있다면 왜 사용하지 않을까요?

어떤 경험?

예, 거대한 솔루션에서 오류가 발생하지 않고 리펙토링에 불리한 솔루션 (예 : 유형 안전 IoC 컨테이너 또는 IDE 지원)을 필요로합니다.

Question

단위 테스트를 위해 IoC 컨테이너를 어떻게 사용할 수 있습니까? IoC를 사용하여 거대한 솔루션 (50 개 이상의 프로젝트)에서 모의를 관리하는 것이 유용합니까? 어떤 경험? 유닛 테스트에서 C # 라이브러리를 사용하면 잘 작동합니까?




SimpleInjector 와 같은 등록되지 않은 / uknown 서비스를 처리 할 수있는 컨테이너를 사용하면 DryIoc (그 광산)이 아직 구현되지 않은 인터페이스에 대한 DryIoc 을 반환 할 수 있습니다.

즉, 첫 번째 간단한 구현 및 조롱 된 종속성을 사용하여 개발을 시작할 수 있고 진행하면서 실제 구성으로 대체 할 수 있습니다.