Android Studio

时间:2018-03-08 13:43:29

标签: android android-studio testing

我的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中(找到了那些甚至无法运行测试的人的建议)。我还缺少什么?

2 个答案:

答案 0 :(得分:0)

很长一段时间后,我不小心找到了解决方法。 如果禁用Android Studio中的即时运行,则测试可以在调试模式下正常运行。 (文件->设置->构建,执行,部署->即时运行,取消选中“启用即时运行”)。

答案 1 :(得分:0)

就我而言(如another post中所述),解决方法是:

  1. 打开Edit Configuration...的{​​{1}}(或将其重命名为的内容)。
  2. 切换到All tests标签。
  3. Debugger组合中,选择Debug mode选项:
    • 尽管我们有很多本地代码, 让我们在调试集成测试时尝试不调试它们;-)

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