netail.net
自作フリーソフトや,ゲームに関する雑記を公開してます.
日記はソフトウェア工学の論文ネタが中心です.
最近のお知らせ (古いものはこちら)
2004-01-09 古い日記からの変換データ ▲
2006-01-09 ▲
_ [AspectJ] 単体テストでは動的アスペクトのほうが楽? ▲
アスペクトをテストしようとすると,AspectJの場合,テスト用クラスと一緒にアスペクトをコンパイルして実行,という作業が発生して,構成ファイルをいちいち用意したり,けっこう手間だったりする.普通にEclipse+AJDT でコンパイルしてると,標準ではすべてのアスペクトが同時にコンパイルされるので,単体テストにならない.
Dynamic Deployment を持った処理系(CaesarJとか)だと,JUnit でいうところの setup メソッドでアスペクトをテスト用オブジェクトに deploy して実行するというコードが書けるので,テスト容易性という観点では有利だといえそう.コンパイルあたりを ant で自動化した場合でも,実行コストの差だけでなく,テストケース側に「どのアスペクトがdeployされた場合のテストか」が明示されている点は有利だと考えられる.
動的なほうが,どのアスペクトがバインドされているかコンパイル時には分からないので問題が起きたときの調査は難しそうという印象があるのだが,コンポーネントの接続などに限定したアスペクトなら,動的に適用したほうが問題が簡単になったりするのかもしれない.
ということで,CaesarJとかに少し心惹かれているこの頃.