2010-08-11 2 views
2

일부 단위 테스트 클래스를 작성 중이며 디버그 모드로만 실행하려고합니다.클래스 만 디버그 모드에 포함합니다.

다른 모드에서 실행될 때 클래스 자체를 최종 어셈블리에 배포하지 않는 방법이 있습니까?

나는 내용 (#if DEBUG 플래그)에 대해 이야기하지 않고, 파일 자체에 대해 이야기합니다.

저는 VS2005를 사용합니다.

감사합니다.

답변

2

표준 연습은 테스트 클래스를 별도의 어셈블리에 넣는 것입니다. 그런 식으로 실제 생산 코드가 포함 된 어셈블리 만 배포하면됩니다.

0

클래스를 테스트로 표시하는 속성 주위에 #if DEBUG을 사용 하시겠습니까? (세부 사항은 사용중인 테스트 시스템에 따라 달라집니다.)

해당 표시가 없으면 클래스는 테스트 상태를 잃지 만 여전히 어셈블리에 포함됩니다.

0

또한 클래스에 DEBUG를 매개 변수로 지정하는 조건 속성을 사용할 수 있습니다.

그러나 프로젝트에 조건을 정의하는 것입니다 컴파일에서 전체 파일을 제외하는 방법 (. ?? PROJ) 파일, 그래서 만약 당신이 당신이 ItemGroup에 조건을 추가 할 수 있습니다 <ItemGroup> <Compile Include="Form1.vb"> <SubType>Form</SubType> </Compile> <Compile Include="Form1.Designer.vb"> <DependentUpon>Form1.vb</DependentUpon> <SubType>Form</SubType> </Compile>

같은 것을 :

Condition=" '$(Configuration)' == 'Debug' "

참고 둘 이상의 ItemGroup을 정의 할 수 있습니다.

관련 문제