2012-06-13 3 views
6

테스트를 실행하는 동안 프로그래밍 방식으로 선택된 테스트 카테고리를 가져 오는 방법이 있습니까? TestContext.Properties [ "_ SELECTCATEGORIES"]선택한 카테고리를 프로그래밍 방식으로 가져 오기

기본적으로 나는 db로부터 테스트 데이터를로드하는 테스트 케이스를 가지고 있는데, 테스트가 오래 걸린다. 로드합니다. 범주가

+0

테스트 카테고리 란 무엇입니까? –

+0

나는 nunit gui 또는 console에서 실행 카테고리로 선택된 카테고리를 의미합니다. – z0c

답변

2

업데이트 선택하지 않은 경우 임 내 NUnit과 테스트 어셈블리에 식별 또는 적재 선택한 범주에 대해 어떤 간단한 방법이있는 것은 아니다 아무것도 반환하지 않는 testCaseSources을 가질 수있는 방법을 찾기 위해 노력 NUnit과 프레임 워크 자체 .. 반사를 사용

, 당신은 아마도 TestAttribute 또는 TestFixtureAttribute 장식 클래스에서 속성 Categories를 스캔 할 수 있습니다. 이 카테고리를로드하려는 카테고리와 일치 시키면로드 전에로드 할 테스트를 필터링 할 수 있습니다.

그리고 다음 TestContext.Test.Properties_CATEGORIES (나중에 NUnit과 2.5.7에서 사용할 수)가 :

[Test] 
[Category("Hello")] 
public void TestCategory() 
{ 
    Assert.IsTrue(((ArrayList)TestContext.CurrentContext.Test.Properties["_CATEGORIES"]).Contains("Hello")); 
} 

TestContext 클래스를 읽을 좀 더 찾을 수 here. 물론이 접근법으로 문제를 해결하려면 전체 테스트 어셈블리를로드하고 모든 테스트 케이스를 미리 루프해야합니다. 이는 시나리오에서 분명히 바람직하지 않습니다.

+0

별로 없습니다. [ "_CATEGORIES"]는 테스트를 꾸미는 카테고리를 반환합니다. nunit gui 또는 콘솔을 실행하기 위해 선택된 카테고리가 필요합니다. – z0c

+0

@ z0c 아마도 매우 고무적인 업데이트는 아니지만 적어도 내 대답을 더 잘 적응하려고했습니다. 귀하의 질문에 응답하십시오. 이 대답의 "여기"링크에 –

+0

이 있으면 "Account Suspended"메시지가 나타납니다. 새 링크를 제공하십시오. – funkymushroom

관련 문제