モックチェーンの呼び出しは、Javaでストリームを含み、

Avinash Kharche:

どのように私はストリームとの連鎖通話を模擬することができ、。また、中間動作としてeach.getName()を呼び出していることに気付きます。私はSomeCountobjectを作成するので、また、それを嘲笑することはできません。

Set<String> obj = new HashSet<String>();
List<SomeCount> someGroups = Some_Mocked_Implementation();
obj = someGroups.stream().map(each -> each.getName()).filter(each -> 
                          userNames.indexOf(each) == -1)
                         .collect(Collectors.toSet());
GhostCat敬礼モニカC.:

あなたはしないでください。

これはテストのみ、古典的な「入力/出力」です。あなたは、単に作成したい入力あなたができるように、特定のオブジェクトを含むリストを予測し、その操作から出てくるべきか。

言い換えれば、あなたのテストすべき本質を見てのように:

assertThat(someMethodDoingTheStreamOperation(yourInputList), is(expectedResult));

モックコンテナなどのリストや地図(ほとんど常に)間違っているように、。

あなたはまだそれを行う上で主張している場合は、Mockitoとその使用することができ、深いスタブのサポートを。

しかし、再び:あなたが置く作業を開始することを意味その実装の詳細ソリューションのをテストコード。テストコードは何もなく、本番コードの「コピー」ではないことをこの意味。本番コードを変更する二つ目は、あなたのユニットテストを壊すかもしれません。そうであっても、単純なリファクタリングが問題になるかもしれません。

あなたはいつもテスト持たを好むないモックに依存します。リストの話をするときと、その後、ちょっと:準備入力してリストを埋め、代わりのリストをあざけります。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=210134&siteId=1