如何在Android Studio中调试检测测试?

Tom*_*ask 15 android mockito android-testing android-studio android-espresso

在Android Studio中,当我调试检测测试时,测试不会在任何断点上停止.调试单元测试工作.我有一个简单的检测测试,只检查是否显示用户名edittext:

@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
    }
}
Run Code Online (Sandbox Code Playgroud)

build.gradle我已正确设置

testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
Run Code Online (Sandbox Code Playgroud)

如何调试检测测试?我正在使用Espresso,Mockito和Dagger 2.

小智 9

你可以通过几种方式解决这个问题Tomask.

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

否则,更简单地说,从android studio开始测试时应该选择Debug而不是Run.如果从android studio中单击Run for test,则选项-e debug false将被设置,并且测试将不会在断点处停止执行.

希望这可以帮助!

  • 问题是,虽然我的测试在断点处停止执行,但它只停止几秒钟,我无法检查我想要的内容。 (6认同)