JUnitを使ってみよう


時代はTDDですよ。XPですよ。


てなわけではないけれど、目標管理に「JUnitによる自動テスト化」とか書いておけば評価も上がるんじゃないかと(ホントか?)。


とりあえずこんな感じのタスクをbuild.xmlに追加。


 
  
   
   
  

  
  
  
   
  

 

【課題】
1.パスの話

こいつを

と書くとパスが通らない。ナンダッテーヽ(`Д´)ノ


2.テストクラスの位置

今までは、

1.CVSからExport
2.必要なファイルを作業ディレクトリにコピー(*Test.javaを取り除く)
3.コンパイル


としていたが、変更する必要がでてくる
むしろsrcディレクトリとtestディレクトリを分ける意味はやはりなかったんじゃ。
・・・とりあえずこんな構成で、と渡されただけだからなぁ。


ちなみにこのタスクはLinux上のantの1.5.2-23では動かなかった。
ログファイル

Testsuite: test.HogeTest
Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0.044 sec

Testcase: testHogehoge took 0.012 sec
Caused an ERROR
Not implemented
java.lang.Error: Not implemented
  at java.util.regex.Pattern.matches(java.lang.String, java.lang.CharSequence) (/lib/ssa/libgcj.so.4.0.0)
  at java.lang.String.matches(java.lang.String) (/lib/ssa/libgcj.so.4.0.0)
  at test.util.CheckUtil.isHalfUpperAlphabetic(java.lang.String) (Unknown Source)
  at test.app.util.CreatePassword.getNetInfoPassword() (Unknown Source)
  at test.app.util.CreatePasswordTest.testCreatePassword() (Unknown Source)
  at _Jv_CallAnyMethodA(java.lang.Object, java.lang.Class, _Jv_Method, boolean, java.lang.Class, jvalue, jvalue) (/lib/ssa/libgcj.so.4.0.0)
  at _Jv_CallAnyMethodA(java.lang.Object, java.lang.Class, _Jv_Method, boolean, java.lang.Class
, java.lang.Object[]) (/lib/ssa/libgcj.so.4.0.0)

Testcase: testCreatePassword

クライアント(WinXP+ant1.6.2)ではきちんと動作するので、antのVerをまず疑ってみよう。