【发布时间】:2021-01-21 11:25:45
【问题描述】:
考虑这个测试,其中一条消息从测试发送到主题“out”,并且测试的代码预计会使用它并通过向主题“in”发送消息来回复。为了通过,我想确保将消息发送到主题“in”。
it('...', async () => {
/* initialize kafkaConsumer and kafkaProducer here */
async function someCallback() {
// ...
}
await kafkaConsumer.subscribe({ topic: 'in', fromBeginning: true })
await kafkaConsumer.run({ eachMessage: someCallback })
await kafkaProducer.send({ topic: 'out', messages: [{ key: '1', value: '2' }] })
// How do I block here until someCallback is called?
})
我读到了关于使用done 的信息,但是我不能拥有它,因为测试本身是定义async 的,我需要它才能使用await。有没有我不知道的不同方式?
【问题讨论】:
-
嗨,您介意分享更多您为此使用的代码,例如设置生产者、主题、kafka 服务器等。
-
@KalyanChavali 看看我刚刚在下面发布的答案