簡體   English   中英

無法使用Robolectric 4.0.1運行測試,'packageDebugUnitTestForUnitTest'失敗

[英]Can't run tests with Robolectric 4.0.1, 'packageDebugUnitTestForUnitTest' fails

升級到Robolectric 4.0.1后,我的robolectric測試無法正常工作。

在我的gradle配置中,我使用testOptions.unitTests.includeAndroidResources = true並在gradle.properties中使用android.enableUnitTestBinaryResources=true

這是一個虛擬測試,用作示例:

@RunWith(RobolectricTestRunner::class)
internal class MyRobolectricTests
{
    @Test
    fun my_test()
    {
        val someItems = ApplicationProvider.getApplicationContext().resources.getStringArray(R.array.array_of_strings)

        assertEquals(10, someItems.size)
    }
}

我遇到了兩個不同的問題:

  1. 如果我運行測試,那么我收到以下消息:

FAILURE:構建因異常而失敗。

  • 出了什么問題:任務執行失敗':packageDebugUnitTestForUnitTest'。

    索引11的不透明部分中的非法字符:jar:file:C:\\ myproject \\ build \\ intermediates \\ apk_for_local_test \\ debugUnitTest \\ packageDebugUnitTestForUnitTest \\ apk-for-local-test.ap_

  1. 如果我從gradle配置文件中刪除testOptions.unitTests.includeAndroidResources = true選項,那么我收到以下錯誤:

android.content.res.Resources $ NotFoundException:資源ID#0x7f030007

在行val someItems = ApplicationProvider.getApplicationContext()...

為什么測試適用於3.6.1版,但現在卻沒有?

從gradle.properties中刪除android.enableUnitTestBinaryResources=true 這有助於我的情況。

請在此處參閱有關此問題的所有評論

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM