[Seasar-user:4425] Re: S2FrameworkTestCase の unbindFields
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2006年 8月 28日 (月) 02:30:23 JST
小林 (koichik) です.
亀レス気味ですが...
Date: Thu, 3 Aug 2006 13:08:39 +0900
From: "Ito Yoshiichi" <[E-MAIL ADDRESS DELETED]>
To: <[E-MAIL ADDRESS DELETED]>
Subject: [Seasar-user:4247] Re: S2FrameworkTestCase の unbindFields
> > JUnitは、テストメソッドごとにTestCaseを作り直しているはずなので、
> > テストメソッドの後にフィールドをクリアしても関係ないじゃん
> > という理由で、unbindFieldsがdeprecatedになっています。
>
> 簡単なサンプルで試したところ、確かに各メソッドごとに
> 必要ならばヒープが解放されているみたいでした。
> でも、うちのプロジェクトの場合、
> 何度か試してみましたが、null セットする/しないで
> java.lang.OutOfMemoryError: Java heap space
> 出る/出ないが変わるんですよね。
> とりあえず個別対応で対処します。
> また何かわかりましたらご報告します。
どうやら,JUnit の TestResult が TestCase への参照を持ったままに
なっていて GC されないため,テストクラスのフィールドをクリアしないと
それらも到達可能なままとなってしまい,GC されずヒープに残って
しまうようです.
そんなわけで (どんなわけで?),unbindFields を復活させました.
S2.3・S2.4 とも次のリリースに含まれます.
--
<component name="koichik">
<property name="fullName">"Koichi Kobayashi"</property>
<property name="email">"[E-MAIL ADDRESS DELETED]"</property>
<property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>
Seasar-user メーリングリストの案内