DoFn<KV<String, twitter4j.Status>, String>
実装をテストし、テスト データを入力として提供しようとしています。私が模索していた 1 つの方法は、Mockito.mock
オブジェクトを入力として使用することでした。それ以外の方法で実装する抽象メソッドが多数あるためです。ただし、 my でモックされたメソッドを呼び出すとDoFn
オブジェクトが変更されるため、テスト フレームワークは「出力後に値を変更してはならない」と不平を言います。
ここで試していることを達成する別の方法はありますか? テストコードは大まかに次のとおりです。
Status status = mock(Status.class, withSettings().serializable());
when(status.getText()).thenReturn("bar");
Pipeline p = TestPipeline.create();
PCollection<String> strings = p
.apply(Create.of(KV.of("foo", status)))
.apply(MapElements.via(new TwitterUtils.StatusToJsonFn()));
DataflowAssert.thatSingleton(strings).isEqualTo(...);