Android Room JUnit测试:“AsyncTask#1” java.lang.IllegalStateException: 无法执行此操作,因为没有当前事务。
创始人
2024-08-15 10:30:09
0

在Android Room中进行JUnit测试时,如果你遇到了这个异常:AsyncTask#1 java.lang.IllegalStateException: 无法执行此操作,因为没有当前事务,可以尝试以下解决方法:

  1. 确保在测试方法上添加了@RunWith(JUnit4::class)注解,以使用JUnit4运行器。
@RunWith(JUnit4::class)
class MyDaoTest {
    // ...
}
  1. 确保在测试方法上添加了@Test注解。
@Test
fun testMyDao() {
    // ...
}
  1. 在测试方法上添加@RunWith(AndroidJUnit4::class)注解,以使用AndroidJUnit4运行器。
@RunWith(AndroidJUnit4::class)
class MyDaoTest {
    // ...
}
  1. 使用runBlockingTest协程构建器来运行测试方法,以确保在当前事务中执行操作。
@Test
fun testMyDao() = runBlockingTest {
    // ...
}
  1. 在测试方法中手动启动事务,并在操作完成后手动提交或回滚事务。
@Test
fun testMyDao() {
    myDatabase.beginTransaction()

    try {
        // 执行数据库操作

        myDatabase.setTransactionSuccessful()
    } finally {
        myDatabase.endTransaction()
    }
}

通过使用上述方法之一,你应该能够解决这个异常并成功运行Android Room的JUnit测试。

相关内容

热门资讯

外挂课程!德普之星辅助工具如何... 外挂课程!德普之星辅助工具如何打开,德州之星扫描器-真是有辅助app(哔哩哔哩)德州之星扫描器透视方...
外挂教材!德扑之心免费透视,约... 外挂教材!德扑之心免费透视,约局吧作必弊脚本-竟然是真的有辅助脚本(哔哩哔哩)1、约局吧作必弊脚本免...
外挂要领!竞技联盟透视插件,德... 外挂要领!竞技联盟透视插件,德普之星有辅助软件吗-总是真的是有辅助app(哔哩哔哩)1、全新机制【竞...
外挂课程!哈糖大菠萝有挂吗5个... 外挂课程!哈糖大菠萝有挂吗5个常用方法,聚星ai辅助工具收费多少-切实是真的有辅助app(哔哩哔哩)...
外挂方案!拱趴大菠萝自动计算机... 外挂方案!拱趴大菠萝自动计算机器人,拱趴大菠萝万能辅助器-原来有辅助软件(哔哩哔哩)1、拱趴大菠萝自...
外挂烘培!约局吧作必弊脚本,德... 外挂烘培!约局吧作必弊脚本,德扑之心免费透视-原来真的是有辅助脚本(哔哩哔哩)约局吧作必弊脚本辅助器...
外挂课程!佛手在线大菠萝技巧,... 外挂课程!佛手在线大菠萝技巧,德州局透视脚本下载安装最新版本-原来存在有辅助方法(哔哩哔哩)1、超多...
外挂窍要!约局吧能不能开挂,p... 外挂窍要!约局吧能不能开挂,pokernow辅助工具-一贯有辅助方法(哔哩哔哩)1、外挂窍要!约局吧...
外挂手筋!德州机器人代打脚本,... 外挂手筋!德州机器人代打脚本,约局吧辅助器-都是一直都是有辅助工具(哔哩哔哩)1、外挂手筋!德州机器...
外挂阶段!拱趴大菠萝有什么挂,... 外挂阶段!拱趴大菠萝有什么挂,佛手在线有挂吗-都是存在有辅助方法(哔哩哔哩);1、在拱趴大菠萝有什么...