目次

趣旨

これは、

テスト用のマシンが与えられていない作業現場

という状況下で、手探りで、テスト環境を構築の模索する、涙と汗の記録である。

一応eclipse上では、すんなりと動作している。

が、なぜかコマンドラインで同じことをやろうとするといろいろ慣れが必要だ。

JUNIT4について技術的なことを知りたい人は、下記のサイトを見たほうが、この

失敗だらけのドキュメントを見るよりはいいかもしれない。

http://www7b.biglobe.ne.jp/~archer/tryjunit4/tryjunit4.html

英語が読めるならば、いっそ、本家のJUnitのサイトのドキュメントを見ればいい

https://github.com/junit-team/junit/wiki

なお、このドキュメント、いまのところ、失敗例のみで、実行できていない。使いにくいツールについての考察には使えるのかもしれない。

でも、あきらめずに、連れずれなるままに書いていくのであった。

目標

  1. ローカルの別フォルダにgitを使って、テスト用に別リポジトリを作成する。
  2. antでJUnitを実行する

背景

新しい作業現場に配属され、eclipse上でJUnit実行できるけれども、テストケースが肥大化しいて1時間以上かかるようになってるので、外部のリソースを使わずにローカルで何とか自動テストさせたい。という感じ。

別フォルダにgitのリポジトリのクローンを作成してみる

カレントディレクトリが、eclipseのworkspaceでテスト用のフォルダだとして

make test
cd test
git clone ../テストしたいプロジェクト名

とやると、リポジトリをコピーできた。

ant

antはお約束の

ant -version

とやって、設定がなされているか確認が必要。

と思ったが、mavenで取り込まれるバージョンが1.7.0どまりなのに対し、今のantのバージョンは1.9.4。

コマンドラインから実行すると、いろいろなバージョンがありますよ。と警告がでて実行されないことになるようだ。

バージョンを1.7.0に戻して再度実行してみると、警告は消えて実行できた。が、今度は、テストケースが何件あるのか見ていない感じがする。1件のErrorを出して停止した。

build.xmlを生成する

Javaでコマンドラインで実行するにあたって、面倒くさそうと思うのが、クラスパスの設定だけれども、

eclipseのエクスポートの機能でant用のbuild.xmlを作れた。

このままの名前だと、あとからの自動作成のときにファイル名がかぶるから、ファイル名を修正しておこう。

antでbuildファイルを指定する

オプションは、よくありがちな -fをつける

ant -f filename

パーミッションの設定

自分の環境ではパーミッションの設定が必要だった。

若干の修正

当然クラスパスも含まれているが、相対パスの深さが、テスト用のフォルダだとずれていたりするので、注意する。はじめからあわせておいたほうがよかったかもしれない。

自分の環境ではbuild.xmlのプロパティM2_REPOと、ECLIPSE_HOMEが相対パスだったので調整が必要だった。

JUNIT4に対応していない?

antがjunit4に対応するのは、1.6.5からだから、大丈夫のはずだが、デフォルトでは、junit3しか対応していない?

メモリ不足?

set ANT_OPTS=-Xmx512m

を試みたが、反応なしでした。

Antよ、ここまで、がんばって出来ないのか。。。

いっそのことANTを使ってコマンドラインでのテストをやめようか。

既存のごちゃごちゃしたプロジェクトに適用するまえに、シンプルなテストプロジェクトからスタートしたほうが早いんじゃね?

とか思えてきました。

eclipseを使ったクラスパス抽出ツールという位置づけで、build.xml生成を理解しておいて、たとえば、

java org.junit.runner.JUnitCore test.SomeTest

のような感じで実行させることを目標にしたほうがいいと思うようになった。

eclipseでJunitを実行させる際の「実行の構成」を参考にまたいつかがんばろう。

本家を見てみる

JUnitの本家を見てみることにする。

知りたかった答えがあった。最初から英語はいやだと思わずに、本家を見てみたほうが早かったのかもしれない。

java -cp .:/usr/share/java/junit.jar org.junit.runner.JUnitCore [test class name]

これが正しい。というか、JUnit開発した人が使用例とした書き方だ。

antとか関係ないやん。

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2014-07-08 (火) 18:55:41 (2661d)