PowerMockでstatic methodのmock/stubが可能なようだ
Mocking static methods
Quick summary1. Use the @RunWith(PowerMockRunner.class) annotation at the class-level of the test case.
2. Use the @PrepareForTest(ClassThatContainsStaticMethod.class) annotation at the class-level of the test case.
3. Use PowerMock.mockStatic(ClassThatContainsStaticMethod.class) to mock all methods of this class.
4. Use PowerMock.replay(ClassThatContainsStaticMethod.class) to change the class to replay mode.
5. Use PowerMock.verify(ClassThatContainsStaticMethod.class) to change the class to verify mode.
とのことで、私の中ではいままで djUnit一択だった、たとえば
hoge = Calendar.getInstance()...
みたいなケースで、テスト条件にあった日時を返却する、なども出来そうな気がしてきました。
まだ試してませんが。
djUnitはほんと強力です。TDDによる設計の改善を狙うならば、VMOのような仕掛けは必要ないのかもしれませんが、やはりstatic-methodは随所で使われていたりしますのでこういうテストノウハウは今でも必要だと思います。