문제

.NET에서 단위 테스트 프로젝트를 나머지 솔루션과 함께 배치해야합니까? 아니면 모든 테스트 프로젝트를 수용하는 테스트 솔루션이 있어야합니까?

코드 기반 솔루션과 함께 모든 테스트 프로젝트가 있습니다. 약간 번거로운 것 같습니다.

너는 주로 무엇을하니?

도움이 되었습니까?

해결책

현재 프로젝트에서 우리는 모든 단위 테스트를 별도의 프로젝트에 넣기로 결정했습니다. 애플리케이션 코드와 테스트는 동일한 솔루션에 있지만 최소한 단위 테스트 코드없이 버전을 작성하고 배포 할 수 있습니다.

이 단점은 때로는 단위 테스트가 응용 프로그램 코드의 특정 구성원 (보호 및 내부)에 도달 할 수 없지만 일반적으로 우리의 디자인이 개선 될 수 있음을 발견하게된다는 것입니다.

그리고 나는 비슷한 스레드를 지적해야한다고 생각합니다 여기 동일한/유사한 주제에 대한 더 많은 답변이 있습니다.

다른 팁

나는 항상 그것들을 솔루션의 일부로 유지했습니다. 결국 솔루션의 일부입니다. 프로젝트를보기위한 다양한 접근 방식을 위해 여러 솔루션을 가질 수 있으므로 테스트가없는 솔루션이 일부 경우에 만들고 싶은 것일 수 있습니다.

우리의 테스트 코드는 배송되지 않지만 전체 솔루션의 일부입니다. 빌더는 테스트 어셈블리와 핵심 구성 요소를 분리합니다. 솔루션 관리 관점에서 140 개 이상의 프로젝트가있는 솔루션처럼 보입니다.

우리는 항상 같은 솔루션 내에서 별도의 프로젝트를 사용합니다.

이것은 우리가 단위 테스트 코드가 명시 적 참조를 테스트한다는 것을 (참조를 사용하여) (참조를 사용하여) (예 : "내부"에있어서 같은 어셈블리에 있으므로 무언가의 가시성을 선택하지 않고)

일반적으로 나는 응용 프로그램 솔루션 내에서 자체 프로젝트에 자체 프로젝트 및 통합 테스트에 단위 테스트를했습니다.

내가 일하는 곳에서 우리는 웹 테스트를 별도의 솔루션에 넣는 것을 고려하고 있습니다. 우리는 QA 팀과 웹 테스트 저자를 공유 할 계획이며 이러한 테스트가 빌드 책임이되기를 원하지 않습니다.

.NET을 사용하지는 않지만 어떤 종류의 테스트 사례를 개발할 때, 나는 테스트없이 응용 프로그램을 배포 할 수 있도록 나머지 코드에서 분리 된 상태를 유지합니다. 사용자는 필요하지 않거나 그 물건을 원하지 않습니다.

프로젝트의 디자인을보십시오. MVC 레이아웃과 가까운 곳에 있거나 대안 중 하나 인 경우 다른 수준의 어셈블리가 있어야합니다. 디자인의 각 레벨에 대해 하나의 테스트 하위 조립을 만드십시오.

우리의 테스트 프로젝트는 일반적으로 EXE를 생성하는 프로젝트 대신 실행됩니다. 우리의 EXE 프로젝트는 대부분의 사람들이 EXE 프로젝트에 넣은 코드를 갖는 컨트롤러 클래스로 가득 찬 어셈블리로 이벤트와 정보를 전달하는 얇은 쉘입니다. 이를 통해 테스트 프로젝트는 정상 테스트 프로세스의 90%에 대한 EXE 인 척 할 수 있습니다.

우리는 여전히 실제 테스트 사례에 가장 적합한 배열을하고 있습니다. 현재 우리는 프레임 워크 유틸리티, Applicaiton Objects, UI 프레임 워크, 명령, UI 컨트롤러 및 EXE의 몇 가지 주요 수준을 보유하고 있습니다. EXE (수동으로 테스트)를 제외한 각 레벨마다 하나의 어셈블리가 있습니다. 어셈블리를 편집 할 때 해당 레벨에 대한 테스트 어셈블리를로드합니다. 모든 레벨에 닿는 일을해야 할 때 모든 테스트 어셈블리를로드해야합니다.

하나의 버튼 빌드 프로세스 중에 테스트 프로젝트 EXE를 실행합니다. (우리는 이것에 대한 별도의 유틸리티가 있습니다).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top