こんにちは.石井です.
懸田さん:
> 私もお客さんに「個別ファイルを指定してビルドできるようにできないか?」
> という要望を受けましたが、Antでは引数を使ってファイル指定してターゲッ
> トを実行する手段はないようです。
> もっとも、起動時にプロパティを指定することができるので代用は可能ですが
> 入力が多くてちょっと面倒です(^^;
> (ant -D<property>=<value>)
やはりこの方法しかないんですか.
Ant の build.xml を書いていて困ったのは,
・サフィックスルールが定義できない
・便利なマクロ $@ や $* が提供されてない
でしょうか.特にサフィックスルールがないのは痛いです.
#近いものとして,mapper タグがありますがこれは別物のようです.
あと,DTDを作成するのにかなり手間取りました.
> 今、パッケージ毎にbuild.xmlを作成し、topにマスターbuild.xmlを作成して
> Antターゲットから利用しているのですが、思ったようにうまくいくまで時間
> がかかりました。(これは私が未熟なだけかもしれませんが)
パッケージ毎に build.xml は辛そうですね.Makefile で include を使った
方がまだ楽かも.
> Antを勧めたのは私なので、ここで「makeも使おう」とは言い出しにくいので
> す(^^;。
さらに追い討ちをかけますが^^;,JUnit のテスト結果をXMLやHTMLで出されて
も僕はあまりメリットを感じません.なぜなら,
・ Unit Test は100% パスするのが当たり前
・ 失敗結果を HTML に出力されても,ソースにすぐジャンプできない
からです(Emacs ならすぐジャンプできます).
受け入れテストを Ant で行い,集計するのなら理解できますが,UnitTest の
結果を ファイルで出力されても僕としてはあまりうれしくないのです.
ファウラーの記事に載っているマスタービルドの仕組みを採用しているところ
はメリットがあるのかな.
公彦さん:
> #でも”継続的インテグレーション”って考え方において部分的なテストは
> #どうなんでしょう。テスト時間が長くなってくるとその気持ちはわかりますが
> :-)
それでは,とても test a little, code a little のリズムに乗れませんよ^^;.
現在のシステムは,テストケースの数が約1500個あり,全部実行するのに10分
近くかかります.それに対して,コードを修正する時間はせいぜい2,3分,
短いときは,数十秒で即テストを実行します.
全体のテストは,休憩をかねて作業が一段落したときに行います.大抵ソース
をチェックインする直前が多いでしょうか.それでも間隔は長くて2時間ぐらいで
す.
これは継続的インテグレーションの思想に反してます?^^;.
ひがさん:
> > nmake ではなく Ant では, (a) のテストは, build.xml から一気に実行
> > できてよいのですが,(b) - (d) の特定のテストを実行する方法がどうして
> > もわかりませんでした.というか,できないのではないかと思ってます.
> >
> 個別に、targetを書いて、ant targetで実行できると思います。
確かにそうですね.けれどもテストクラスの数は何百個もあるのでそれは
できません^^;.
では.