staticメソッドばかりを詰め込んだクラスがあって、そのstaticメソッドを使いまくってるソースコードをどうにかしてJUnitにかけようと思った。 →めんどくさいので諦めた。 →でもなんとなく頭に来てるので、せめてクラスのすげ換えだけでもできないか、ClassLoaderの資料とか読み込む。 →とりあえずPoCは動いたので、せっかくなのでGoogleCodeに登録。 →でもtestが通らない・・・。Eclipse上で作成したPoCは動いたのに。何故?(今ここ) - clas3hift -- http://code.google.com/p/clas3hift/ テストが無い、いわゆるLEGACYなJavaクラスをテストしようとした時、インスタンス渡しで中で使われているものについてはEasyMockなどで何とか逃げれると思います。しかし、 AppUtils.calcFooBar(int i, int j) みたいに、クラスのstaticメソッドと通信しまくっているコードはEasyMockも使えませんしテストしようがありません。 そういうときに、テストコードをSandBox化し、その中で"AppUtils"を使おうとすると、裏側では"test.AppUtils"に自動的に置き換えてくれるようなライブラリをイメージしてます。 "class shift" で、"s"が3つ続くので "clas3hift" になりました。shiftというのは、shellscriptとかで引数を一つずつずらしていくアレのイメージです。なんとなく、ダルマ落としを思い浮かべての命名でした。