如何在Android Studio中调试仪器测试?

21
在Android Studio中,当我调试仪器测试时,测试不会在任何断点处停止。调试单元测试可行。我有一个简单的仪器测试,只检查用户名编辑框是否显示:

在Android Studio进行仪表测试调试时,测试无法在任何断点上停止。调试单元测试可以正常工作。我有一个简单的仪表测试,仅检查用户名编辑框是否显示:

@RunWith(AndroidJUnit4.class)
public class LogonActivityTest {

    @Rule
    public ActivityTestRule<LogOnActivity> mActivityRule = new ActivityTestRule<>(LogOnActivity.class, true, false);

    @Before
    public void setUp() throws Exception {
        mActivityRule.launchActivity(new Intent()); // breakpoint here
    }

    @Test
    public void testSimple() throws Exception {
        onView(withId(R.id.act_logon_et_username)).check(matches(isDisplayed())); // breakpoint here
    }
}

build.gradle中,我已经正确地设置了

testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

我怎样才能调试已注入代码的测试?我正在使用Espresso、Mockito和Dagger 2。

2个回答

12

Tomask,你可以采用几种方式来解决这个问题。

如果你是从命令行调用测试,你可以在配置中传递选项 -e debug true。

否则,更简单的方法是当你从Android Studio启动测试时选择Debug而不是Run。如果你从Android Studio点击Run来运行测试,选项 -e debug false 将被设置,测试将不会在断点处停止执行。

希望这能帮到你!


6
问题在于,虽然我的测试在断点处停止执行,但只停留了几秒钟,我无法检查我想要的内容。 - Leonardo Sibela

2

对于我来说,使用Gradle运行Android仪器测试可以正常工作。

打开Android Studio ->首选项并切换此选项。

enter image description here

如果已经启用,请尝试禁用它并希望最好的结果。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接