小编Raj*_*Rai的帖子

在 micronaut 中为集成测试配置数据库

我正在尝试在 micronaut 中编写集成测试。

我有一个控制器类:

@Controller("/hello")
public class HelloController {

    @Inject
    private HelloRepository helloRepository;

    @Get("/")
    public HttpResponse get() {
        return HttpResponse.ok(helloRepository.findAll());
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试为它编写一个集成测试,例如:

@MicronautTest
public class HelloControllerSpec {

    @Inject
    EmbeddedServer embeddedServer;

   @BeforeEach
    void setUp() {
        initMocks(this);
    }

    @Test
    public void testIndex() throws Exception {
        try(RxHttpClient client = embeddedServer.getApplicationContext().createBean(RxHttpClient.class, embeddedServer.getURL())) {
           client.toBlocking().exchange("/hello").status();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但我不断收到错误消息:

 No backing RepositoryOperations configured for repository. Check your configuration and try again  
Run Code Online (Sandbox Code Playgroud)

我放在“src/test/java/resources/”下的 application.yml 文件具有以下数据源实现:

datasources:
   default:
      url: jdbc:h2:mem:devDb
      driverClassName: org.h2.Driver
      username: sa
      password: 'sa' …
Run Code Online (Sandbox Code Playgroud)

java micronaut micronaut-data micronaut-client

5
推荐指数
1
解决办法
1939
查看次数