pep*_*umo 2 android-testing android-jetpack-compose
我试图在撰写中创建测试,但总是收到以下错误:
默认 FirebaseApp 在此过程中未初始化 X. 确保首先调用 FirebaseApp.initializeApp(Context)。
我试图最大限度地简化测试代码:
@get:Rule
val composeTestRule = createComposeRule()
@Test
fun test() {
composeTestRule.setContent {
Text("Whatever")
}
}
Run Code Online (Sandbox Code Playgroud)
但仍然收到该错误。
我尝试过 uiThreadTestRule:
@get:Rule
val composeTestRule = createComposeRule()
@get:Rule
var uiThreadTestRule: UiThreadTestRule = UiThreadTestRule()
@Test
fun test() {
uiThreadTestRule.runOnUiThread {
FirebaseApp.initializeApp(InstrumentationRegistry.getInstrumentation().targetContext)
}
composeTestRule.setContent {
Text("Whatever")
}
}
Run Code Online (Sandbox Code Playgroud)
并且还具有相同的 composeTestRule.runOnUiThread:
@get:Rule
val composeTestRule = createComposeRule()
@Test
fun test() {
composeTestRule.runOnUiThread {
FirebaseApp.initializeApp(InstrumentationRegistry.getInstrumentation().targetContext)
}
composeTestRule.setContent {
Text("Whatever")
}
}
Run Code Online (Sandbox Code Playgroud)
如何FirebaseApp is not initialized修复该错误以便测试该应用程序的可组合项?
更新
这似乎与 createComposeRule() 有关,导致以下测试:
@get:Rule
val composeTestRule: ComposeContentTestRule = createComposeRule()
@Test
fun test() {
assertEquals(2, 1 + 1)
}
Run Code Online (Sandbox Code Playgroud)
也会失败,如果我删除规则,它就会通过。如果可以删除它,我不需要在测试中使用 firebase 依赖项。
将其添加到该模块的 gradle 文件中以排除 firebase 依赖项:
configurations {
androidTestImplementation {
exclude group: 'com.google.firebase', module: 'firebase-perf'
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
567 次 |
| 最近记录: |