2016年7月19日火曜日

[JMockit]VerificationsでMatcherを使って、モックに渡された値をアサートする

JMockitでモックオブジェクトのメソッドに渡されたオブジェクトをアサートしたい場合は、withArgThatを使う。

使い方

検証したいメソッドの呼び出しに対して、withArgThatを使用して、検証用のwithArgThatを指定する。

この例の場合は、単純にmockList.add("hoge")で置き換えできるが・・・
引数をキャプチャするwithCaptureを使ってたけど、こっちのほうが便利。

    @Mocked
    private List mockList;

    @Test
    public void sample() throws Exception {
        mockList.add("hoge");

        new Verifications() {{
            mockList.add(withArgThat(is("hoge")));
        }};
    }