2016-09-10 2 views
0

Xamarin.Android unit 테스트 프로젝트를 진행하고 있습니다. 다음과 같이 adb 명령 줄에서 테스트 케이스를 실행하고 있습니다.안드로이드 프로젝트의 ADB 명령에서 특정 클래스의 테스트 케이스를 실행할 수 없습니다.

ADB 쉘 오전 악기 -w -e 클래스 Package.Android.Test.MyTestClass Package.Android.Test/app.tests.TestInstrumentation

나는 많은 테스트 클래스를 데, 모든마다 테스트 케이스가 모든 클래스에서 실행 중입니다. 특정 클래스의 테스트 케이스를 실행하고 싶습니다. 누구든지이 문제에 직면 할 수 있습니까?

나는 ADB 로그를 보았는데 항상 "[Runner executing : Run Everything] "을 인쇄했습니다.

테스트 사례는 NUnitlite를 사용하여 작성됩니다.

답변

0

어떤 테스트가 실행되는지 제한하려면 NUnit/NUnitliteCategories을 사용하는 것이 좋습니다. 기본 TestSuiteActivity 테스트가 실행되는 ActivityOnCreate 세트에서 다음 호출에서

: 기본 구현 반환 null에서

AndroidRunner.Runner.AddTestFilters (GetIncludedCategories(), GetExcludedCategories()); 

모두, GetIncludedCategoriesGetExcludedCategories, 당신이 TestSuiteActivity를 서브 클래 싱 할 수 있도록이를 오버라이드 (override) 메서드를 실행하고 실행해야하는 Categories을 반환하십시오.

현재이 작업을 수행하고 adb shell am instrument 명령에 extras (-e categories Large)을 추가하여 실행하려면 Categories을 전달하십시오.

참조 : TestSuiteActivity.cs

protected virtual IEnumerable <string> GetIncludedCategories() 
{ 
    return null; 
} 

protected virtual IEnumerable <string> GetExcludedCategories() 
{ 
    return null; 
} 
관련 문제