我正在尝试使用自定义运行器在我的应用中启动检测测试。所有测试和跑步者都在我的应用程序内部开始。 我手动在清单中添加了检测名称:
<instrumentation
android:name="MyCustomRunner"
android:icon="@mipmap/ic_launcher"
android:targetPackage="ru.busylee.runtestinapp">
</instrumentation>
这是我的自定义跑步者。所有自定义都是在start create等上添加日志记录:
public class MyCustomRunner extends AndroidJUnitRunner {
private static final String TAG = "MyCustomRunner";
@Override
public void onStart() {
super.onStart();
Log.d(TAG, "onStart()");
}
@Override
public void finish(int resultCode, Bundle results) {
super.finish(resultCode, results);
Log.d(TAG, "finish()");
}
@Override
public boolean onException(Object obj, Throwable e) {
Log.d(TAG, "onException()");
return super.onException(obj, e);
}
}
以下是我尝试启动检测的示例:
if (!startInstrumentation(new ComponentName(this, MyCustomRunner.class), null, arguments)) {
Log.d(TAG, "startInstrumentation failure");
}
有效。我能够在路径中运行所有测试,因为我没有使用Bundle传递额外的参数。但它不使用我的自定义运行器,而是使用AndroidJUnitRunner
或类似的东西,因为我没有看到我在自定义类中添加的任何日志。有什么建议吗?