无法在android项目中从ADB命令执行特定类的测试用例

时间:2016-09-10 10:51:14

标签: android xamarin xamarin.android nunit adb

我正在使用Xamarin.Android单元测试项目。我正在从adb命令行执行测试用例,如下所示。

  

adb shell am instrument -w -e class Package.Android.Test.MyTestClass   Package.Android.Test / app.tests.TestInstrumentation

每次所有测试用例都在所有类中运行时,我有很多测试类。我想从特定的类中运行测试用例。任何人都可以遇到这个问题。?

我试过看ADB日志,它总是打印“[Runner execution:Run Everything] “

使用NUnitlite编写测试用例。

1 个答案:

答案 0 :(得分:0)

您需要使用NUnit / NUnitlite Categories来限制运行哪些测试。

在默认TestSuiteActivity中,Activity OnCreate中的以下调用设置了哪些测试运行:

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

默认实现中的GetIncludedCategoriesGetExcludedCategories都返回null,因此您可以继承TestSuiteActivity,覆盖这些方法并返回应该Categories跑了。

我目前正在执行此操作,并通过添加到Categories命令的extras-e categories Large)传递adb shell am instrument

参考:TestSuiteActivity.cs

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

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