簡體   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