Specflow (C# 오이)를 사용하여 BDD 방식으로 6 각형 응용 프로그램을 개발 중입니다.육각형 응용 프로그램의 자동화 된 테스트에서 컴포지션 루트
코어를 실행하고 생산 어댑터 대신 내부 육각형의 포트에 테스트 이중을 주입하는 자동화 된 시나리오 시스템 테스트를 구현하고 싶습니다.
또한 composition-root 패턴을 사용하고 있습니다. 즉 코어 종속성이 코어 외부에서 해결되었음을 의미합니다. 즉, 이미 나에게 냄새가 난다. (어댑터를 주입하는 외부 육각형쪽으로 코어의 종속성을 해결하는 것이 정확하다. 그러나 코어의 내부 의존성은 어떻습니까?).
일반적으로 테스트 클래스는 의존성을 해결하고 테스트 이중을 주입하지만 이제는 코어도 어셈블 할 수 있어야합니다. 이제는 코어의 종속성을 해결하는 단일 지점을 갖지 않습니다. 테스트에서 컴포지션 루트를 복사해야하므로 코어의 내부 서비스를 생산 구성 루트가 바꿔서 동작을 변경하고 위반하면 자동화 된 테스트가 녹색으로 유지됩니다 테스트 컴포지션 루트가 여전히 서비스의 이전 구현을 주입하게합니다.
이 문제의 올바른 해결책은 무엇입니까? 감사합니다
이 문서가 도움이 될 수 있습니다 : http://www.dotnetcurry.com/patterns-practices/1337/automated-testing-using-composition-root-csharp –
감사합니다. 도움이되었습니다! – Rob80