私がテストしているクラスが正しい依存クラスのメソッドを呼び出すことを確認しようとしています。だから私はメソッドのパラメータを一致させようとしていますが、私はテストを脆弱にしたくないので、このテストでは実際の値を気にしません。Mockitoで可能なnullパラメータを一致させる方法
Mockitoは、私が期待してい動作がバグであることを決定しましたので、しかし、私はトラブルにそれを設定するに実行しているよ:https://github.com/mockito/mockito/issues/134
だから、そのパラメータのマッチャーを定義するための正しい方法をwhat't nullでもかまいませんか?
問題#134が「固定」の場合、マッチャは最初のケースでのみ一致するため、このコードは失敗します。どのようにして4つのケースすべてで作業する正規表現を定義できますか?
MyClass c = mock(MyClass.class);
c.foo("hello", "world");
c.foo("hello", null);
c.foo(null, "world");
c.foo(null, null);
verify(c, times(4)).foo(anyString(), anyString());
これはMockito 2.0以降の正解と思われます。 2.0より前のMockitoのバージョンでは、 'anyString()'を使ったあなたの元のコードがうまくいきましたが、これはMockitoチームが2.0で導入した大きな変化です。 –
これはもう動作しません。ドキュメントから - '' 'Mockito 2.1.0以降、このメソッドは型チェックを実行するので、
null
値が許可されていない' ' –