문제에 대한 설명이 코드베이스에 대한 철저한 통찰력을 제공하지는 않지만 문제가 두 가지라고 안전하게 말할 수 있다고 생각합니다.
올바른 테스트 작성법을 배우십시오.
거의 천 번의 테스트가 있고 120 개의 프로젝트가 있다고 말합니다. 해당 프로젝트의 최대 절반이 테스트 프로젝트라고 가정하면 1000 개의 테스트에서 60 개의 프로덕션 코드 프로젝트가 있습니다. 그것은 당신에게 약 16-17 테스트 홍보를 제공합니다. 계획!!!
그것은 아마도 프로덕션 시스템에서 약 1-2 클래스를 다루어야 할 테스트의 양일 것입니다. 따라서 각 프로젝트에 1-2 개의 클래스 만있는 경우 (이 경우 프로젝트 구조가 너무 세분화 됨) 테스트가 너무 크면 너무 많은 근거를 포함합니다. 이것이 TDD를 올바르게 수행하는 첫 번째 프로젝트라고 말합니다. 예를 들어, 제시 한 숫자는 이것이 사실이 아님을 나타내며 TDD 속성을 수행하지 않습니다.
올바른 테스트 작성법을 배워야합니다. 이는 아마도 코드를 처음에 테스트 할 수있게하는 방법을 배워야한다는 것을 의미합니다. 팀 내에서 그렇게 할 수있는 경험을 찾을 수 없다면, 외부에서 도움을받는 것이 좋습니다. 예를 들어 2-3 개월 동안 팀에서 테스트 가능한 코드 작성을 배우는 데 도움이되는 한두 명의 컨설턴트의 형태입니다. 최소 단위 테스트.
이에 비해 현재 작업중인 .NET 프로젝트에서 10 초 이내에 약 500 개의 단위 테스트를 실행할 수 있습니다 (고사양 시스템에서는 측정되지 않음). 이것이 당신의 인물이라면, 당신은 이것을 자주 로컬로 실행하는 것을 두려워하지 않을 것입니다.
프로젝트 구조를 관리하는 방법을 배웁니다.
솔루션을 120 개의 프로젝트로 나누었습니다. 그것은 내 표준에 의해 엄청난 양의 프로젝트입니다.
따라서 실제로 그러한 양의 프로젝트를 보유하는 것이 합리적이라면 (그렇지 않은 느낌이 들지만 귀하의 질문에이를 판단하기에 충분한 정보를 제공하지 못하는 경우) 프로젝트를 작은 구성 요소로 나눌 필요가 있습니다. 별도로 빌드, 버전 관리 및 배포 할 수 있습니다. 따라서 개발자는 테스트 스위트 단위를 실행할 때 현재 작업중인 구성 요소와 관련된 테스트 만 실행하면됩니다. 빌드 서버는 모든 것이 올바르게 통합되었는지 확인해야합니다.
그러나 여러 구성 요소로 프로젝트를 분할하고 개별적으로 빌드하고 버전을 지정하면 배포 할 때 경험이 매우 성숙한 개발 팀이 필요합니다.
그러나 어쨌든 프로젝트 구조에 대해 무언가를해야합니다. 프로젝트를 별도의 구성 요소로 분할하거나 프로젝트 병합을 시작하십시오.
정말로 120 개의 프로젝트가 필요한지 자문 해보십시오.
ps NCrunch를 확인하고 싶을 수도 있습니다. 백그라운드에서 테스트를 자동으로 실행하는 Visual Studio 플러그인입니다.