TeamCity에서 dotCover가 적용되지 않도록 유형 및 방법을 제외하려면 어떻게합니까?
TestDriven.Net 및 Visual Studio 커버리지 기능을 사용하여 테스트 커버리지를 확인한 기존 C # 4 프로젝트가 있습니다. 즉, 상황에 맞는 메뉴에서 Test With-> Coverage를 사용합니다.
프로젝트에는 내가 다루고 싶지 않은 일부 코드가 포함되어 있으며 [ExcludeFromCodeCoverage]
해당 유형 및 메서드에 대해 를 추가하여 문제를 해결했습니다 .
방금 TeamCity를 6.0.3으로 업그레이드했으며 NUnit 빌드 단계에 dotCover 적용 범위를 추가했습니다.
"필터"섹션에서 NHibernate와 같은 외부 어셈블리에 대한 커버리지를 제거 할 수 있었지만 (내가 커버하고자하는 어셈블리를 명시 적으로 명시하여), 커버 된 어셈블리에서 유형과 메서드를 제외하는 방법을 고민하고 있습니다.
좋아, 마틴, 알아 냈어! 필터 구문을 무작위로 찌르는 데 1 시간 밖에 걸리지 않았습니다. 문서에서 이와 같은 필터를 추가하라고 말했을 때
+:myassembly=*;type=*;method=***
그들은 정말로 이것을 의미합니다 ... 안에있는 모든 것은 <>
당신에 의해 완전히 대체되고 다른 것은 문자 그대로
+:<myassembly>;type=<filter>;method=<filter>
그래서 제가 원했던 필터는 여러 어셈블리의 단일 어셈블리를 포함시킨 다음 해당 어셈블리에서 몇 개의 네임 스페이스를 제외하는 것이 었습니다. 나는 썼다
+:Omnyx.Scanner
-:Omnyx.Scanner;type=Omnyx.Scanner.Simulation.*
-:Omnyx.Scanner;type=Omnyx.Scanner.ToolsCommon.*
dotCover 팁 및 요령 페이지를 살펴보십시오 . 전체 어셈블리를 제외한 것과 유사하게 필터 섹션에서 제외를 설정할 수있는 것 같습니다.
하자 당신이라는 방법을 무시하고 싶은 말은 DoStuff
클래스에 포함 MyStuff
에, MyAwesomeAssembly
라이브러리를. 그러면 dotCover XML이 다음과 같이 보일 것입니다.
<Filters>
<ExcludeFilters>
<FilterEntry>
<ModuleMask>MyAwesomeAssembly</ModuleMask>
<ClassMask>MyStuff</ClassMask>
<FunctionMask>DoStuff</FunctionMask>
</FilterEntry>
</ExcludeFilters>
</Filters>
면책 조항 : 나는 dotCover를 사용하지 않기 때문에 이것이 실제로 작동하는지 100 % 확신하지 못합니다.
다음은 TeamCity 문서가 필터 옵션에 대해 말하는 내용입니다.
다음 구문을 사용하여 한 줄에 하나씩 프로파일 링 할 어셈블리를 지정합니다. + : myassembly = ; type = ; method = *
-: myassembly를 사용하여 코드 적용 범위에서 어셈블리를 제외합니다. 여기서는 별표 와일드 카드 (*)가 지원됩니다.
'IT Share you' 카테고리의 다른 글
실제로 구성 요소의 상태를 직접 수정할 수없는 이유는 무엇입니까? (0) | 2021.01.08 |
---|---|
코드에서 루빅스 큐브를 어떻게 표현 하시겠습니까? (0) | 2021.01.08 |
Doxygen에서 매개 변수를 참조하는 올바른 방법은 무엇입니까? (0) | 2021.01.08 |
자바 유니 코드 문자열 길이 (0) | 2021.01.08 |
AngularJS 지시문에 속성을 통해 배열 전달 (0) | 2021.01.08 |