Robolectric org.robolectric.res.ResBundle$Value.compareTo(ResBundle.java:189) 间歇性 NPE 崩溃失败

Robolectric intermitten NPE crash failure at org.robolectric.res.ResBundle$Value.compareTo(ResBundle.java:189)

我在 运行 我的测试中出现间歇性失败。

java.lang.NullPointerException
    at org.robolectric.res.ResBundle$Value.compareTo(ResBundle.java:189)
    at org.robolectric.res.ResBundle$Value.compareTo(ResBundle.java:166)
    at java.util.ComparableTimSort.countRunAndMakeAscending(ComparableTimSort.java:320)
    at java.util.ComparableTimSort.sort(ComparableTimSort.java:188)

在下面的代码中

@RunWith(RobolectricGradleTestRunner::class)
@Config(constants = BuildConfig::class, sdk = intArrayOf(21), packageName = "my.package")
class MyActivityTest {
    lateinit var myActivity : MyActivity

    @Before
    fun setup() {
        myActivity = MyActivity()
    }
}

具体上线

        myActivity = MyActivity()

显然修复是

@RunWith(RobolectricGradleTestRunner::class)
@Config(constants = BuildConfig::class, sdk = intArrayOf(21), packageName = "my.package")
class MyActivityTest {
    lateinit var myActivity : MyActivity

    @Before
    fun setup() {
        myActivity = Robolectric.buildActivity(MyActivity::class.java).get()
    }
}