我想为单元测试创建一个带有可提交消息和使用者控件的源代码。
或者转换这样创建的源:
val message: Source[Array[Byte], NotUsed] = Source.single("one message".getBytes)
像这样的事情
Source[CommittableMessage[Array[Byte], String], Consumer.Control]
目标是单元测试参与者在消息上的行为,而不必在构建机器上安装kafka
我想为单元测试创建一个带有可提交消息和使用者控件的源代码。
或者转换这样创建的源:
val message: Source[Array[Byte], NotUsed] = Source.single("one message".getBytes)
像这样的事情
Source[CommittableMessage[Array[Byte], String], Consumer.Control]
目标是单元测试参与者在消息上的行为,而不必在构建机器上安装kafka
2条答案
按热度按时间0md85ypi1#
您可以使用此帮助程序创建committablemessage:
j91ykkif2#
使用
Consumer.committableSource
创建Source[CommittableMessage[K, V], Control]
. 这个想法是在你的测试中,你将产生一个或多个关于某个主题的消息,然后使用committableSource
从同一主题中消费。下面的示例演示了这种方法:它是对
IntegrationSpec
在阿克卡河Kafka项目。IntegrationSpec
使用scalatest embedded kafka,它为scalatest规范提供内存中的kafka示例。