xUnit.net 테스트 스트리퍼 [배포/배송 전에 바이너리에 포함된 테스트 코드 제거]

StackOverflow https://stackoverflow.com/questions/1443278

문제

테스트 스트리퍼(에 정의된 대로)가 있습니까? xUnit 테스트 패턴)는 [Fact] 등으로 태그가 지정된 메서드가 포함된 클래스 제거를 지원합니다.게다가 [빌드 프로세스의 일부로] 바이너리의 xunit.dll에 대한 종속성?

전체 요구 사항 및 컨텍스트에 대한 자세한 내용은 다음을 참조하세요. 이 xUnit CodePlex 게시물.

(테스트 및 DLL에 대한 참조를 제거하는 것) 실패하면 .vcproj 파일 등에서 너무 많은 원숭이 작업을 하지 않고 xunit.dll 종속성을 제거하는 유틸리티/입증된 깨끗한 접근 방식을 가진 사람이 있습니까?

오픈소스를 선호합니다.NUnit용으로 깔끔하게 작성된 것이 잠재적으로 기반 역할을 할 수 있습니다.

참고:나는 어셈블리에 코드를 포함시키는 것의 단점을 알고 있습니다. 이 질문은 그것에 관한 것이 아닙니다(codeplex 스레드를 읽은 후 일부 핵심 사항이 누락되었다고 느끼지 않는 한).

도움이 되었습니까?

해결책 2

에 언급된 바와 같이 요구 사항을 지정한 codeplex 게시물, Mono.Cecil을 사용하여 기본 스트리퍼를 구현했지만 결국 다음과 같은 사실을 활용하게 되었습니다. 사용되지 않은 참조는 릴리스 빌드에서 최적화됩니다. 테스트를 '제거'하려면 MSBuild 호출을 통해 외부에서 제어하는 ​​#define을 기반으로 제외합니다.

다른 팁

단위 테스트가 프로젝트 resp에 배치 된 경우. 그들 자신의 조립은 배포 전에 테스트 클래스를 제거 할 필요가 없어야합니다. 이 접근법에 대해 무엇이 잘못 되었습니까?

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