나는 TDD에 대해 상당히 익숙하지만 mock, 스텁, 의존성 주입, 제어의 반전을 사용하여 '유사한'문제를 해결하는 방법을 충분히 이해하고 있지만 ... 어떤 이유로 인해 의존성 주입과 'IThread'(또는 이와 유사한) 전달.스레드를 생성하는 메서드를 단위 테스트하는 방법?
몇 가지 기본 컨텍스트를 제공하려면 - 레거시 응용 프로그램에 단위 테스트를 추가하려고하는데 생성자가 두 개의 스레드를 생성하는 클래스를 단위 테스트하는 방법을 잘 모릅니다.
의존성 주입을 사용하는 유일한 방법은 무엇입니까?
그렇다면 스레드가 가져 오는 기능은 어떻습니까? 스레드가 실행되는 동안 스레드는 실행되는 동안 (true) 루프를 실행하고 루프를 종료하지 않습니다 (응용 프로그램이 종료되지 않는 한). 루프 안에는 합리적인 코드 덩어리가 있으며이 코드는 실제로 테스트를 받고 싶습니다.
내가 정말이 감소하므로 (내 테스트를 다른 프로젝트에 존재하는 난 단지 공공 방법을 테스트하고 있습니다) 루프에서 벗어나 공공 방법으로 모든 기능을 끌어 싶지 않아 설상가상 코드의 다른 곳에서 클래스를 쉽게 사용할 수 있습니다.
제안 사항?
내가 테스트하고있는 클래스가 클래스 라이브러리에 있고 외부에서만 사용되었으므로 합리적인 절충안입니다. 이것은 정말 잘 될 것입니다, 고마워요! – InvertedAcceleration