微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java.lang.IllegalStateException for robolectric

如何解决java.lang.IllegalStateException for robolectric

我正在为 shard pref 编写本地单元测试,我有三个测试用例,比我得到的一次通过

java.lang.IllegalStateException:已经初始化

at com.yariksoffice.lingver.Lingver$Companion.init(Lingver.kt:192)
at com.yariksoffice.lingver.Lingver$Companion.init(Lingver.kt:182)
at com.myholding.my.common.myApplication.onCreate(myApplication.kt:27)
at org.robolectric.android.internal.AndroidTestEnvironment.lambda$installAndCreateApplication$0(AndroidTestEnvironment.java:288)
at org.robolectric.util.PerfStatsCollector.measure(PerfStatsCollector.java:86)
at org.robolectric.android.internal.AndroidTestEnvironment.installAndCreateApplication(AndroidTestEnvironment.java:288)
at org.robolectric.android.internal.AndroidTestEnvironment.setUpApplicationState(AndroidTestEnvironment.java:171)
at org.robolectric.RobolectricTestRunner.beforeTest(RobolectricTestRunner.java:319)
at org.robolectric.internal.SandBoxTestRunner$2.lambda$evaluate$0(SandBoxTestRunner.java:269)
at org.robolectric.internal.bytecode.SandBox.lambda$runOnMainThread$0(SandBox.java:89)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)

  @RunWith(AndroidJUnit4::class)
        class SessionLocalDataSourceImpTest {
            lateinit var SessionLocalDataSourceImp: SessionLocalDataSourceImp
             
        @Before
                fun setUp() {
                    val context = ApplicationProvider.getApplicationContext<MyApplication>()
                    val sharedPreferences = context.getSharedPreferences(
                        "prefs",MODE_PRIVATE
                    )
                    SessionLocalDataSourceImp = SessionLocalDataSourceImp(sharedPreferences)
                }
    }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。