2013-03-20 21 views
6

SBTは、specs2spray-testkitを使用して、より大きな受け入れスタイルのテストでメモリ不足を継続します。私は10ギガまたはRAMが利用可能であり、現在はMaxPermSizeが512m、Xmsが1024m、Xmxが2gのSBT(SBT extras scriptを使用)を開始します。specs2のJVMメモリ設定

受け入れテストは、クライアントのビジネスプロセス全体を特定の順序で実行するため、受け入れテストを複数の小さなテストに分割することは容易ではありません。

どのように私が私の環境をより良く構成できるか、または私が見なければならないものは何かを評価していただければ幸いです。

私はUbuntuでOracle Javaを使用していますが、このプロジェクトでは、spec2 2.14でScala 2.10、sbt 0.12.2、スプレー1.1-M7を使用しています。

テストの外でシステムを実行しているとき、またはより小さいテストを使用しているときは、すべて時計のように動作します。それは大規模なテストの間だけ、物事がうまくいくことです。

fork in Test := true 

javaOptions in Test += "-Xmx2048m" // we need lots of heap space 

これは、テストは、あなたがSBTで実行しているに依存しないことを意味します。あなたが行うことができます

答えて

2

specs2の変更不可能なスタイルで指数関数的な問題が発生していると思われます。解決方法は、メモリを追加したり、テストを小さなチャンクにバストアップするだけです。詳細はこちら:

http://www.artima.com/articles/compile_time.html

6

ことの一つは、あなたが直接build.sbtであなたのメモリ設定を設定することができ、あなたのテストをフォークすることですextrasスクリプトであり、設定はsbt自体には影響しません。作業ディレクトリの変更や使用するJREの変更など、さまざまなオプションを設定することもできます(Forkingを参照)。

+0

+1ありがとう、ありがとう。 – Jack

+0

と密接に関連しています。http://stackoverflow.com/questions/3868863/how-to-specify-jvm-maximum-heap-size-xmx-for-running-an-application-with-run/14561346#14561346 – iwein

+0

あなたがそれらの2つの間に線が必要であることを実現する分。 –

関連する問題