【发布时间】:2022-09-23 04:58:01
【问题描述】:
我尝试迁移我的集成测试类以使用@Testcontainers。
原来的测试课就像
@QuarkusTest
class GameResourceTest {
@Inject
TeamService teamService;
@Test
void shouldLeadTheRankLadder() {
teamService.doCrazyStuff(); // PASS
改写后是这样的
@Testcontainers
class GameResourceTest {
@Container
private MariaDBContainer mariaDBContainer = new MariaDBContainer(\"mariadb:10.5.16\").withDatabaseName(\"test\").withUsername(\"test\").withPassword(\"test\");
@Inject
TeamService teamService;
@Test
void test() {
assertTrue(mariaDBContainer.isRunning()); // PASS
}
@Test
void shouldLeadTheRankLadder() {
teamService <-----------------------IS NULL HERE
因此,在删除 @QuarkusTest 注释后,我的服务的依赖注入不再起作用。
如何在这里使用测试容器和依赖注入?