我正在尝试运行测试:
@HiltAndroidTest
class ActionDaoTest {
@get : Rule
var hiltRule = HiltAndroidRule(this)
@get : Rule
var instantTaskExecutorRule = InstantTaskExecutorRule()
@Inject
@Named("test_db")
lateinit var database: MyDatabase
private lateinit var actionDao: ActionDao
@Before
fun setup() {
hiltRule.inject()
actionDao = database.actionDao()
}
@After
fun teardown(){
database.close()
}
@Test
fun insert_assetTrue() = runTest{
val action = ActionEntity("name","description", LocalDate.now())
actionDao.insert(action)
val actionList= actionDao.selectAll().first()
assertThat(actionList).contains(action)
}
我得到一个错误:
java.lang.NoSuchMethodError: No virtual method find(Lkotlin/jvm/functions/Function1;)Lkotlinx/coroutines/internal/ThreadSafeHeapNode;在类 Lkotlinx/coroutines/internal/ThreadSafeHeap 中;或其父类(super class)
最佳答案
我降级了
'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.6.4'
至
'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.6.0'
现在可以了...
关于android - 仪器化测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73489326/