2012-05-01 9 views
0

EasyMockを使用してvoidメソッドの期待値を設定する場合、メソッドの引数の1つとしてObject配列を指定できますか?例えばEasyMock voidメソッドとオブジェクト配列を引数として期待していますか?

、我々はこのようなものがある場合:ClassUnderTest内のsomeMethodは({ "2"、 "5"}オブジェクト[])rejectValueを呼び出すことにより

Errors mockErrors = createMock(Errors.class); 
... 
mockErrors.rejectValue(Object[]{"5", "2"}); 
mockErrors.replay(); 

classUnderTest.someMethod(); 

と、

しかし、何が呼び出されているか正確に期待されているにもかかわらず、簡単な模擬呼び出しは予期しないメソッド呼び出しについて不平を言う。

>  Unexpected method call rejectValue(["5", "2"]): 
>   rejectValue(["5", "2"]): expected: 1, actual: 0 

私はそれに頼っていますフードの下でオブジェクトのメソッドに等しいので、それは[]だ二つが異なるように、それは偽を返し、条件を満たしていないと推定。

周囲に道がありますか? expect()を使って期待値を設定していないので、any()を使うことができます... voidメソッドでも同じことをする方法はありますか?

答えて

6
mockErrors.rejectValue(aryEq(new Object[] {"5", "2"})); 

詳細については、the javadocを参照してください。

+0

javadocリンクが移動されました。 http://easymock.org/api/org/easymock/EasyMock.htmlの 'aryEq'のメソッド宣言をすべて見てください。 – nsane

関連する問題