2012-07-19 5 views
12

TFS 2012에는 CI, 배포 및 야간과 같은 몇 가지 빌드 정의가 있습니다.TFS 2012의 특정 어셈블리에서 단위 테스트를 실행하지 마십시오. 빌드 정의

우리의 CI 빌드는 우리의 솔루션에서 (n) 단위 테스트를 모두 실행하지만, 특정 테스트를 무시하도록해야합니다.

우리는 장기간에 걸친 통합 테스트가 있기 때문에 이것은 야간에만 실행하면됩니다.

상황은 나는 시도했다 :

  • TestCategoryAttribute (MSTEST에서)를 사용하고 테스트 케이스 필터 속성 시도를 설정하고 '통합'을 제외 할 수 있습니다.
  • CategoryAttribute (NUnit에서)을 사용하고 Test Case Filter 속성을 설정하면 '통합'을 시도하고 제외합니다.
  • 위의 조합.

무시할 테스트는 모두 이름에 IntegrationTests 또는 Integration.Tests라는 단어가있는 별도의 어셈블리에 있습니다.

감사합니다,
Kieron

+2

xUnit 테스트도 추가합니다. 필터하는 방법? –

답변

10

내 단위 테스트에 MSTEST TestCategory 속성의 조합을 사용하고, 그리고 TFS 2012

내 빌드 프로세스 정의 설정을 테스트 카테고리 필터에 따르면 은 Microsoft MSDN 문서가 here발견에 당신은

테스트 카테고리 필터를 설정하여 사용할 카테고리를 지정할 수 있습니다

[TestCategory("Integration")] 

는 단위 테스트의 모든에서이 작업을 수행 :이 속성 테스트를

TestCategory!=Integration 

및 장식 :

원래 포스트에 따르면, 다음과 같은 필터를 사용할 필요가 거라고 당신이 빌드하는 동안 무시하고 싶지. Visual Studio에서는 테스트 목록이 더 이상 사용되지 않으며 모든 항목을 범주로 변환하는 데 시간이 걸렸지 만 결국에는 그만한 가치가 있습니다.

희망 하시겠습니까?

+0

그들은 어디서나 문서에 명시 적으로 언급하지는 않지만이 구문은 ANDS TestCategory! = External & TestCategory! = UITest – felickz

+2

에 유용합니다. MSTests에는 좋지만 NUnit 테스트는 어떻습니까? 개인적으로 xUnit 테스트 필터링에도 관심이 있습니다. 우리는 3 가지를 모두 가지고 있습니다. –

+1

두 번째 xUnit ...! – Kieron

관련 문제