如何在烫伤 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。这对工作和测试都有效。