3
3

More than 5 years have passed since last update.

jMockit 1.9にしたらえらく変わってた

Posted at

jMockit0.x系から、jMockit1.9に乗り換えようと思ったら、以下のような記述でコケる

@MockClass(realClass=Hoge.class) // MockClassアノテーション廃止されてるせいで、コンパイラーさんがOKOKO
public class HogeMock {
}
Mockit.setUpMock(HogeMock.class); // ここでいねーよってコンパイラーさんがOKOKO

new Expectations() {
    Fuga fuga;  // これではMock化してくれないっぽい?
    {
        this.fuga = new Fuga(); // 動かすとMockじゃないってJVMがOKOKO
    }
};

どうやら、基本的にMockUp使えってことらしくて、Expectitionsはテストクラスのフィールドやメソッドの引数にMockedアノテーション付ける以外にはダメっぽそう。

TestNG+jMockit+EclEmmaな環境だと、EclEmma2.3.1とかにしてしまうだけで、jMockitとぶつかって、テストの起動でコケてくれるので、jMockitのバージョンを上げるか、EclEmmaを2.2系に戻すほかないけど、Java8対応とかするにはEclEmma2.3.1にしないとダメなので、jMockitをバージョンアップするしかないという…
まぁ、今どきJava6って、いい加減にやばいんじゃない?セキュリティとかセキュリティとかセキュリティとかセキュリティとか...大事すぎることなので、4回言いました。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3