我的Android项目中有一些测试。我在Android Studio中运行它们(使用"运行"按钮,而不是命令行),一切都很好 - 所以我猜配置是正确的。当我尝试调试它们时(再次使用" debug"按钮而不是运行),它崩溃了"测试框架意外退出" (显示"实例化测试"。在控制台或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);
}
}
}
我试图使缓存/重启无效,我确实有testInstrumentationRunner" android.support.test.runner.AndroidJUnitRunner"在build.gradle中(找到了那些甚至无法运行测试的人的建议)。我还缺少什么?
答案 0 :(得分:0)
很长一段时间后,我不小心找到了解决方法。 如果禁用Android Studio中的即时运行,则测试可以在调试模式下正常运行。 (文件->设置->构建,执行,部署->即时运行,取消选中“启用即时运行”)。
答案 1 :(得分:0)
就我而言(如another post中所述),解决方法是:
Edit Configuration...
的{{1}}(或将其重命名为的内容)。All tests
标签。Debugger
组合中,选择Debug mode
选项:
注意:我们使用Android-studio 3.2.1及更高版本,在新版本中可能不需要。