Android org.roblectric.res.ResBundle$Value.compareTo(ResBundle.java:189)上的机器人间歇性NPE崩溃故障
我在运行测试时间歇性失败Android org.roblectric.res.ResBundle$Value.compareTo(ResBundle.java:189)上的机器人间歇性NPE崩溃故障,android,robolectric,Android,Robolectric,我在运行测试时间歇性失败 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(
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()
}
}