gpt4 book ai didi

mongodb - react 性存储库不保存对象

转载 作者:行者123 更新时间:2023-12-02 13:36:22 26 4
gpt4 key购买 nike

我想我不太了解Reactive存储库和使用它的处理程序的工作方式。我编写了一个特殊的测试类,仅用于使用存储库测试最简单的处理程序

 @SpringBootTest
class TestRepository() {

@Autowired
lateinit var myRepo: myRepo

@Autowired
lateinit var myHandler: MyHandler

@Test
fun `save with a handler`() {
val myObject = MyObject()
myHandler.save(request).subscribe()

StepVerifier.create (myRepository.count() ) <--this does not work
.expectNext (1L )
.expectComplete().verify()
}

@Test
fun `test only database saving`() {
val object = MyObject()

myRepo.save(myRepo).subscribe()

StepVerifier.create (myRepo.count() ) <-- this works
.expectNext (1L )
.expectComplete().verify()
}
}

我的处理程序和存储库是通过以下方式定义的:
  @Service
class MyHandler(private val myRepository: MyRepository) {

fun save(object: MyObject): Mono<MyObject> {
return myRepository.save(request)
}
}

@Repository
interface MyRepo : ReactiveMongoRepository<MyObject, String> {

fun save(request: MyObject): Mono<MyObject>
}

我也尝试使用 subscribe方法,但仍然看不到结果。

我应该纠正什么?

最佳答案

使用Mono.then函数链接savecount函数并获得结果Mono:

@Test
fun `save with a handler`() {
val countAfterSave = myHandler.save(MyObject()).then(myRepository.count());

StepVerifier.create(countAfterSave)
.expectNext(1L)
.expectComplete()
.verify()
}

关于mongodb - react 性存储库不保存对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56037561/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com