[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 メーリングリストの案内