我有一个如下所示的事务范围(Spring docs)并且我让它工作:
class PersonRepository(private val operator: TransactionalOperator) {
suspend fun initDatabase() = operator.executeAndAwait {
insertPerson1()
insertPerson2()
}
}
Run Code Online (Sandbox Code Playgroud)
但是当我尝试在测试中模拟 TransactionalOperator 时,如下所示:
val transactionalOperator = mockk<TransactionalOperator>(relaxed = true)
Run Code Online (Sandbox Code Playgroud)
每次我的测试需要使用运算符的方法时,我都会遇到超时。我也没有找到有关它的文档。
有人有对反应式事务管理的编程变体进行测试和模拟的示例吗?
谢谢!
小智 5
希望它有帮助,我使用了以下构造:
val reactiveTransactionManager = mockk<ReactiveTransactionManager>()
val transactionalOperator = TransactionalOperator.create(reactiveTransactionManager)
every { reactiveTransactionManager.getReactiveTransaction(any()) } answers { mono { mockk() } }
every { reactiveTransactionManager.commit(any()) } answers { mono { mockk() } }
every { reactiveTransactionManager.rollback(any()) } answers { mono { mockk() } }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
795 次 |
| 最近记录: |