読者です 読者をやめる 読者になる 読者になる

Maven + JUnit4.5(2)

原因がわかりました。

一般的なMavenのお作法では、公開サーバーからjarを取ってくることになっていますが、
私の開発環境では、jarはSVNで管理しているワークスペースを見るようにしてます。



junit-4.5.jar
system
${basedir}/lib/junit-4.5.jar


どっちでもコンパイルは通るんですが、どうもmaven-surefire-pluginが
mavenのrepositoryに存在するjarしか読まないみたいで、たまたまそこにあったJUnit3.8が有効になってたみたいです。
(Junit4用のメソッド名はtestXXXとやってたので呼ばれたんでしょうか?)

jarのscopeをsystemにする離れ業なんてやってるからこんなことになるんですよね・・・。


なので、開発環境では



junit-4.5.jar
system
${basedir}/lib/junit-4.5.jar


junit
junit
4.5
test

という変な感じのpomになってます。



また、testディレクトリにTestCaseを継承していないJavaソースファイルがあっても
テスト対象クラスだと認識して、「テストメソッドがねーよ」とエラーをはいてしまいます。
(JavaBeanであっても)

テストクラスの命名規約をしっかりしないと思い通りにテスト対象にならなかったり
テストクラスのつもりじゃないのにテストクラスと判断されちゃうので面倒だなぁと思った今日この頃。