[Seasar-user:4433] Re: S2FrameworkTestCase の unbindFields

Ito Yoshiichi [E-MAIL ADDRESS DELETED]
2006年 8月 28日 (月) 18:07:00 JST


伊藤(GLAD!!)です。

> 小林 (koichik) です.
>
> 亀レス気味ですが...

いえいえ、どうもありがとうございます。

> どうやら,JUnit の TestResult が TestCase への参照を持ったままに
> なっていて GC されないため,テストクラスのフィールドをクリアしないと
> それらも到達可能なままとなってしまい,GC されずヒープに残って
> しまうようです.

テストに失敗した場合だけリークが発生するんですね。
調査不足でした。

> そんなわけで (どんなわけで?),unbindFields を復活させました.
> S2.3・S2.4 とも次のリリースに含まれます.

SVN リポジトリで確認しました。
なるほど。確かに bind 時にリストに登録しておくのが確実ですね。
2点だけ確認をお願いします。

  (1) bindFields で設定されたフィールドは tearDown、tearDownXXX
    では使用できないという仕様でしょうか?
    tearDown の後で unbindFields の方がいいかなとも思ったのですが。

  (2) テスト終了後 boundFields も null セットした方が良くないですか?

あと、細かいですが、null セットに FieldUtil.set は使わないのでしょうか?




Seasar-user メーリングリストの案内