[Seasar-user:5250] Re: JUnitでOutOfMemory

Tetsuya Toba [E-MAIL ADDRESS DELETED]
2006年 11月 22日 (水) 20:22:05 JST


鳥羽です。

Tetsuya Toba wrote:
> 鳥羽です。
> 
> Koichi Kobayashi wrote:
>> 小林 (koichik) です.
>>
>>> 現在、JUnitを使ってテストを行っているのですが、プロジェクト内の
>>> テストケースを全て実施すると、OutOfMemoryError となってしまいます。
>> おそらく JUnit の TestCase を直接継承した
>> テストクラスをお使いだと思われますが,
>> Seasar2 の提供する S2TestCase を継承した
>> テストクラスを作成すると OutOfMemoryError で
>> 悩まされる可能性はかなり減ると思います.
>>
>> もし S2TestCase を継承したテストクラスで
>> OutOfMemoryError が起きているならかなり
>> 深刻かもしれません.
> 
> ご回答ありがとうございます。
> 
> 幸い社内で開発したテストクラスですので、S2TestCaseに変更する方向で
> 検討してみます。
> 
> ありがとうございました。

その後、クラスローダを置き換える方式で試してみました。

[Unloading class jp.co.kssinet.FooDao$$EnhancedByS2AOP$$1cec59b]
というようなログが出力されるようになり、うまくいくかと思ったので
すが、今度は java.lang.OutOfMemoryError: Java heap space が発生
してしまいました。

[Seasar-user:5239]と同じような現象です。

クラスローダの置き換え方法が間違っていたのかと思い、S2TestCase
で同じ dicon を読み込むようにして追試してみたのですが S2TestCase
でも同様に java.lang.OutOfMemoryError: Java heap space となりました。

追試といっても、setUp() で dicon を include() して、test() で
getComponent() を行い、メソッドを1個呼ぶだけのテストケースを、
テストスイートで1000回繰り返しただけですなのですが。。。

ちょっと原因が分からないので、しばらくはクラスローダの置き換えと、
ヒープを増やす対応ですすめようと思います。

-- 
鳥羽 哲也





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