如何在烫伤 JobTest 中模拟 PackedAvroSource
HowTo mock PackedAvroSource in scadling JobTest
我正在尝试模拟 PackedAvroSource,但没有成功。
这里有一个例外:
无法解析参数选择器:[{1}:'bytes'],传入:[{1}:0]
当我尝试访问取自 avro 的映射中的“字节字段”时,会发生这种情况。转换字节的 Map func 期望得到名为 'bytes
的字段
这是一个测试代码片段
test("My test"){
JobTest(classOf[PackedAvroSourceJob].getName)
.arg("input", "input")
.arg("output", "output")
.source(PackedAvroSource[ByteBuffer]("input"), createInput)
.sink(PackedAvroSource[ByteBuffer]("output")) { buffer: mutable.Buffer[(Byte)] =>
println("hERE!!!")
}
.run
}
将架构字节传递给 PackedAvroSource 的正确方法是什么?
在您的作业中,读取 PackedAvroSource
时,对 ByteBuffer 字段使用 Fields.FIRST
。这对工作和测试都有效。
我正在尝试模拟 PackedAvroSource,但没有成功。 这里有一个例外:
无法解析参数选择器:[{1}:'bytes'],传入:[{1}:0]
当我尝试访问取自 avro 的映射中的“字节字段”时,会发生这种情况。转换字节的 Map func 期望得到名为 'bytes
的字段这是一个测试代码片段
test("My test"){
JobTest(classOf[PackedAvroSourceJob].getName)
.arg("input", "input")
.arg("output", "output")
.source(PackedAvroSource[ByteBuffer]("input"), createInput)
.sink(PackedAvroSource[ByteBuffer]("output")) { buffer: mutable.Buffer[(Byte)] =>
println("hERE!!!")
}
.run
}
将架构字节传递给 PackedAvroSource 的正确方法是什么?
在您的作业中,读取 PackedAvroSource
时,对 ByteBuffer 字段使用 Fields.FIRST
。这对工作和测试都有效。