何時の間にか4が11まで上がってた。別段今の4.8で困っていないがとりあえず何となくバージョンアップしておく。バグとか減ってるだろうし。
 ⇒むむ。テストケースがいきなりNoClassDefFoundで動かない。プロジェクト全部再ビルドしたのに。

java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.junit.internal.builders.JUnit4Builder.runnerForClass(JUnit4Builder.java:10)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:26)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.(JUnit4TestReference.java:33)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestClassReference.(JUnit4TestClassReference.java:25)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:48)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:452)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: java.lang.ClassNotFoundException: org.hamcrest.SelfDescribing
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 25 more

→org/hamcrest/SelfDescribingって何か別jarにも依存してるのか…
http://d.hatena.ne.jp/irof/20130110/p1 ←これか。hamcrest-core-1.3.jar に依存する模様。何だろ?ハムクレストって
→ http://d.hatena.ne.jp/absj31/20120811/1344759958 どうもMatcherのライブラリみたい。おそらく複雑な合否判定条件の処理等に内部で使ってるのだろう。
 そいえば何時のころからかGroovy信者達が、JUnit単体テストのテストケースはGroovyで記述すると何かと宜しい、と触れ回っているのをしばしば目にしていて、本当かいな?そもそもJavaから呼ばれる関数をGroovyから呼び出してテストというのはOKなのだろうか…*1と思いつつもGroovyのXML記述力は大変良さげであり、関数の戻り値がXMLの時とか確かに楽かも知れんので、この機会にものは試しととりあえずGroovy-Eclipseをインストール…の途中でOEPEと衝突して失敗。Groovyはまたいつかだな。Groovyもアレだよな、本体遅いから結局、JUnitMavenの後釜の設定記述言語方向に活路を見出すのかしら。
 結局、hamcrest-core-1.3.jarを追加してJUnitのままで行く。つかテストケースってそもそもそんなに長くならないからなー。

*1:Javaのclassにコンパイルされるから同じという話もあるが、過去、その手の「同じはず」の状況だけど再現しない問題とか散々酷い目に遭ったんで余り信用しないというか、なるべくテストと本番はなるべく揃えるべきと考える