小编jwo*_*una的帖子

Micronaut-data 使用 Micronaut-test 模拟 CrudRepository

我尝试为我的 API 控制器编写 UnitTest,该控制器使用 micronaut-data-jpa 中的 CrudRepository。我使用 @MockBean 来模拟控制器中的协作存储库。如果我运行测试,则会出现以下错误:

Message: No such method [findById(java.lang.Object) ] for bean [jens.repositories.ConnectionProfileRepository]

我从未使用过 Spock、Micronaut-Data 或 Micronaut-Test,仅从以下来源尝试过:

https://micronaut-projects.github.io/micronaut-test/latest/guide/index.html

控制器:

ConnectionProfileRepository profileRepository

    ProfilesController(ConnectionProfileRepository profileRepository) {
        this.profileRepository = profileRepository
    }
Run Code Online (Sandbox Code Playgroud)

语言:Groovy 存储库

interface ConnectionProfileRepository extends CrudRepository<ConnectionProfile, UUID> { }
Run Code Online (Sandbox Code Playgroud)

测试

@MicronautTest
class ProfilesControllerSpec extends Specification {

    @Inject
    ConnectionProfileRepository profilesRepositoryMock

    @MockBean(ConnectionProfileRepository.class)
    ConnectionProfileRepository profileRepository() {
        Mock(ConnectionProfileRepository)
    }
...
Run Code Online (Sandbox Code Playgroud)

如何使用当前的设置来实现控制器中存储库的模拟?

micronaut micronaut-data

2
推荐指数
1
解决办法
3536
查看次数

标签 统计

micronaut ×1

micronaut-data ×1