繁体   English   中英

仪器测试在 Android Studio 中的调试模式下崩溃

[英]Instrumentation tests crash in debug mode in Android Studio

我在我的 Android 项目中有一些测试。 我在 Android Studio 中运行它们(使用“运行”按钮,而不是命令行),一切都很好 - 所以我猜配置是正确的。 当我尝试调试它们时(再次使用“调试”按钮而不是运行),它会因“测试框架意外退出”而崩溃(在显示“实例化测试”之后。控制台或 logcat 中没有其他错误消息。它同时发生在真正的设备和模拟器,并且仅在调试模式下。

我的测试如下所示:

@RunWith(AndroidJUnit4.class)
public class InformationTest extends AbstractServiceTest {

@Test
public void testCopyResource(String resourceName, File destination) throws IOException {
        try (InputStream inputStream = getClass().getResourceAsStream(resourceName)) {
            FileUtils.copyInputStreamToFile(inputStream, destination);
        }
    }
}

我试图使缓存/重启无效,我在 build.gradle 中有 testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"(为那些甚至无法运行测试的人找到了这些建议)。 还有什么我想念的吗?

找了半天,无意中找到了解决办法。 如果我在 Android Studio 中禁用即时运行,则测试在调试模式下运行良好。 (文件 -> 设置 -> 构建、执行、部署 -> 即时运行,取消选中“启用即时运行”)。

就我而言(如另一篇文章所述),修复方法是:

  1. All tests (或您将其重命名的内容)打开“ Edit Configuration... ”。
  2. 切换到Debugger选项卡。
  3. Debug mode组合中,选择Java选项:
    • 尽管我们有很多本机代码,但让我们在调试集成测试时尽量不要调试它们 ;-)

注意:我们使用 Android-studio 3.2.1 及更高版本可能不需要更新版本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM