如何使用Android Studio将额外参数传递给我的自定义测试运行器?

时间:2015-10-22 22:53:19

标签: android-studio

我想将额外的参数传递给使用Android Studio扩展AndroidTestRunner的班级。我已经知道如何从命令行执行此操作,但据我所知,使用Android Studio 1.4版本无法实现。

背景

我有一个类MyTestRunner,如下所示:

public class MyJUnitRunner extends AndroidJUnitRunner {

    private final String TAG = "MyJUnitRunner";

    @Override
    public void onCreate(Bundle arguments) {
        super.onCreate(arguments);
        Log.i(TAG,arguments.toString());
    }
...
}

当我从命令行使用此testrunner时,我使用如下命令:

adb shell am instrument -w -r \
    -e debug false \
    -e foo bar \
    -e class espresso.test.MyTestClass \
    com.mycompany.myapp.test/espresso.runner.MyJUnitRunner

我会在日志文件中看到这个:

10-22 15:28:45.173 I/MyJUnitRunner( 5596): Bundle[{foo=bar, class=espresso.test.MyTestClass, debug=false}]

请注意,-e foo bar命令的adb shell am instrument部分添加了捆绑包中的“foo = bar”。

问题

据我所知,没有办法将-e key value对传递给Android Studio。 “模拟器”选项卡下有一个“附加命令行选项”参数,但这些是模拟器的命令行选项,而不是测试运行器。

更新

2015-10-26 我已经为此创建了一个功能请求。如果您发现了这个问题,并且有兴趣看到相同的功能,请点击下面的链接并解决问题。请不要评论“我也是!”或者在世界的某个地方,小河马会哭。

https://code.google.com/p/android/issues/detail?id=191551

1 个答案:

答案 0 :(得分:1)

这似乎是Android Studio 1.5的新功能。

screenshot of Android Studio 1.5 showing Extra Options