今日の役に立たない一言 - Today’s Trifle! -

古い記事ではさまざまなテーマを書いていますが、2007年以降はプログラミング関連の話がほとんどです。

テストを実行するたびに結果が違う。。。

某ツールは JNI を使っている。で、JUnit の画面を起動しっぱなしでテストを繰り返すと、成功と失敗を交互に繰り返す。出ているエラーの内容は以下のとおり。

java.lang.UnsatisfiedLinkError: Native Library C:(snip)\hoge.dll already loaded in anothre classloader

JUnit って、実行するたびに新しい ClassLoader を作ってるんだろうか?で、テストが終わったときじゃなくて、テストを開始したときに前回生成した ClassLoader が GC されてる???
ちなみに、

    protected void tearDown() {
        System.gc();
    }

なんてやってみたけど改善されない。このコードが動くってことはまだ GC の条件を満たしてないんで、当然の結果なんだけど。。。
テストできないわけじゃないが、1回置きにエラーが出るって、気持ち悪いー。
気にしないようにしてるけど、すげー気になる。なんとかならんかのー。textui でやるしかない?
解決案ぼしゅー!
追記:ツールのベンダーにメールで問い合わせてみた。。。って、アメリカのベンダーだもんで、英語で質問してみたんだけど、通じるんだろうか?(^^;