【发布时间】:2021-06-01 03:54:58
【问题描述】:
我已经创建了以下 DoFn 类,但我不确定如何模拟 APIClient,因为在 Junit 中使用模拟 APICall 对象创建 JsonToGenericRecordMapper 的实例被 @setup 方法覆盖,该方法正在创建 APICall 的实际实例?
public class JsonToGenericRecordMapper extends DoFn<String, GenericRecord> {
private APICall apiCall;
@setup
public void setup ()
{
api = new APICall();
}
@ProcessElement
public void processElement(ProcessContext processContext) {
String enrichedItemCost = processContext.element();
Schema schema = CommonUtils.schema;
GenericRecord genericRecord = new GenericData.Record(schema);
genericRecord.put(CommonUtils.SCHEMA_FIELD_KEY, enrichedItemCost);
processContext.output(genericRecord);
}
}
TestPipeline testPipeline = TestPipeline.create();
APICAll apiCall = Mockito.mock(APICall.class);
dataPCollection.apply(new JsonToGenericRecordMapper(apiCall));
【问题讨论】:
标签: java unit-testing mockito google-cloud-dataflow apache-beam