#java #junit #apache-beam
#java #junit #apache-beam
Вопрос:
У меня есть простой конвейер, который просто копирует файлы из источника в пункт назначения. Я пытаюсь написать тесты для окна, которое я настроил.
Есть ли способ использовать класс TestStream для файлов?
Например:
@Test
public void elementsAreInCorrectWindows() {
TestStream<FileIO.ReadableFile> testStream = TestStream.create(ReadableFileCoder.of())
.advanceWatermarkTo(start)
.addElements(readableFile1)
.advanceWatermarkTo(end)
.addElements(readableFile2)
.advanceWatermarkToInfinity();
}
Однако конструктор для ReadableFile упакован защищенным, поэтому я не смог бы создать эти объекты.
Ответ №1:
Я думаю, что было бы разумно сделать этот кодировщик общедоступным. В то же время, у вас может быть TestStream, который создает элементы другого типа, которые затем преобразуются с помощью DoFn в доступные для чтения файлы.