【问题标题】:Is it possible to enter debug mode for android when running junit test?运行junit测试时是否可以进入android的调试模式?
【发布时间】:2012-06-08 01:36:20
【问题描述】:

通常我使用adb shell am instrument -w com.android.contacts.tests/android.test.InstrumentationTestRunner 运行一个junit 测试。它确实有效,它将运行我所有的测试。

但是当我在运行 junit 时设置断点并希望进入调试模式时,它失败了。当我调试普通的 android 应用程序时,我制作断点的方式有效。

所以我搜索了网页,并尝试了adb shell am instrument -e debug true -e class com.android.contacts.AndroidUtilsTest -w com.android.contacts.tests/android.test.InstrumentationTestRunner 之类的东西,但仍然没有运气。你的如何解决这个问题?我不仅要调试junit类,还要调试正常项目中的代码。

【问题讨论】:

    标签: android junit tdd android-testing


    【解决方案1】:

    我猜您正在尝试使用 Eclipse 调试您的测试。如果是这种情况,您只需选择您的测试项目,右键单击,Debug As... -> Android JUNit test,执行将在您设置的断点处停止在您的测试或代码中。

    【讨论】:

    • 实际上,我在命令行中完成所有这些工作。也许在eclipse中,你的方法会起作用。
    【解决方案2】:

    我刚刚找到了答案。当我启动仪器时它会阻塞,因为它正在等待我设置断点。所以在我设置断点之后,junit 开始运行。所以调试一个android junit项目的顺序是:

    1. 在调试设置为 true 的情况下启动仪器。
    2. 使用命令行或eclipse创建断点。
    3. 仪器将开始自动运行。

    【讨论】:

    • 在 JetBrains Idea 的情况下: 1. 在调试设置为 true 的情况下启动仪器。 2. 将调试器附加到您的应用程序的进程 3. 测试将开始
    • “调试设置为真”是什么意思?这个设置在哪里?
    【解决方案3】:

    要调试 Android JUnit 测试,不要忘记将 debuggable=true 放入可测试项目中。

    【讨论】:

    • 其实,不要那样做。构建工具将为您完成。
    猜你喜欢
    • 1970-01-01
    • 2015-06-10
    • 1970-01-01
    • 2012-05-04
    • 1970-01-01
    • 2021-06-29
    • 2011-09-20
    • 2017-04-28
    • 2012-05-14
    相关资源
    最近更新 更多