我正在尝试为我的 Kafka 消费者编写集成测试。
我正在使用JUnit 5
,所以我无法使用 对其进行初始化@Rule
,而且我看到的初始化示例@Container
也无法正常工作。
我试图将我的 Junit 版本更改为Junit 4
,但它损坏了我的其他测试(所以我需要继续使用Junit 5
)。
但它不识别我的注释 ( @Testcontainers
, @Container
)。
摇篮进口:
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.4.0'
testImplementation 'org.junit.jupiter:junit-jupiter-engine:5.4.0'
implementation group: 'org.apache.kafka', name: 'kafka-clients', version: '1.1.1'
testIntegrationImplementation "org.testcontainers:kafka:1.11.4"
我正在上传此代码作为注释:
@Testcontainers
public class KafkaTestContainer implements BeforeAllCallback, AfterAllCallback {
@Container
public KafkaContainer kafkaContainer = new KafkaContainer();
private static final Logger logger = LoggerFactory.getLogger(KafkaTestContainer.class);
@Inject
private KafkaTestContainer() {
try {
} catch (Exception e) {
logger.error(e.getMessage());
}
}
private String getKafkaBootstrapServers(Request request) throws IOException {
return this.kafkaContainer.getBootstrapServers();
}
public void stopKafkaTestContainer() {
// Stop the container.
kafkaContainer.stop();
}
@Override
public void afterAll(ExtensionContext context) throws Exception {
}
@Override
public void beforeAll(ExtensionContext context) throws Exception {
boolean isKafkaRunning = this.kafkaContainer.isRunning();
if(isKafkaRunning) {
logger.info("start Kafka docker!!");
}
}
isKafkaRunning 值始终为 false。
对 Kafka 测试容器初始化有任何帮助吗?
我错过了什么??
蛊毒传说
青春有我
慕哥6287543
相关分类