Fight the Future

Java言語とJVM、そしてJavaエコシステム全般にまつわること

IT勉強会での初プレゼンなどお助けします!

勉強会でスピーカーをやりたいけど、プレゼンが初めて、苦手という方に無償でコーチできます。スライドのレビューや録画したリハへのアドバイスなどなど。Twitter@jyukutyoまでメンションでもDMでもお気軽にご連絡ください。

私はIT講師の経験があり、プレゼンはデブサミやJJUG CCCなど200人規模の経験が豊富で最大800人の前でプレゼンしました。海外ではDevoxxUSで。デブサミ2017では公募スピーカー1位、デブサミ関西2012アワードで5位となりました。

Mock Objects in Unit Tests

ONJava.comを翻訳。
実際プロジェクトでモックを使ってテストしたことがない…

Mocquerはjava.lang.reflect.ProxyをベースにしたEasyMockの拡張。
Life Cycle Control Methods

  • public void replay();
  • public void verify();
  • public void reset();

Factory Methods

  • public static MockControl createNiceControl(...);
  • public static MockControl createControl(...);
  • public static MockControl createStrictControl(...);

それぞれのファクトリメソッドに

  • public static MockControl createXXXControl(Class clazz);
  • public static MockControl createXXXControl(Class clazz,
  • Class argTypes, Object args);

がある。


モックオブジェクトのゲッター。

  • public Object getMock();


振る舞いを定義するメソッド。

  • public void setReturnValue(... value);
  • public void setThrowable(Throwable throwable);
  • public void setVoidCallable();
  • public void setDefaultReturnValue(... value);
  • public void setDefaultThrowable(Throwable throwable);
  • public void setDefaultVoidCallable();
  • public void setMatcher(ArgumentsMatcher matcher);
  • public void setDefaultMatcher(ArgumentsMatcher matcher);


パラメータとして返す値を指定する。

  • setReturnValue()


例外をスローする振る舞いを定義。

  • setThrowable(Throwable throwable)


戻り値がvoidのメソッドのために使う。

  • setVoidCallable()


ArgumentsMatcherをカスタマイズして引数の値の一致するルールを変更できる。