は考えてみましょのみラムダ式のチェーン内の他のメソッドを呼び出すJavaメソッドをテストするJavaメソッド:ユニット
public result method(Optional<T> param) {
return param.flatmap(SomeOtherClass::method1)
.flatmap(SomeOtherClass::method2)
.orElseThrow(new RuntimeException(" "))
}
それは本当にユニットテスト方法に理にかなっていますか?私の議論は、method1はラムダ式を呼び出しているだけなので、実際に何もしないので意味がありません。 ここで間違っている場合は、訂正してください。可能であれば、複数のケースをカバーする単体テスト(Mocksを使っても問題ありません)を扱うコードサンプルを用意してください。
これが難しい理由は、SomeOtherClassの2つの静的メソッドです。これらを静的でないメソッドに置き換えることができ、クラス内の特定のオブジェクトに対して呼び出す方法はありますか?その後、それらをスタブして、実際にまともなテストを書くことができるでしょう。 –