2016-02-18 84 views
1

我最近在工作中得到了RubyMine 8.0.3的祝福,儘管IDE很容易使用,但我在運行時遇到了麻煩我的RSpec通過內置的RSpec控制檯進行測試。問題是我的規格在初始設置時失敗,出現錯誤「Java :: JavaLang :: OutOfMemoryError:超出GC開銷限制」。RubyMine - 運行RSpec/jruby Java :: JavaLang :: OutOfMemoryError:超出GC開銷限制

我知道這是java內存不足的垃圾收集器 - 可能是由於某些效率低下的代碼導致我在項目中的參與。然而,我沒有任何問題,通過命令rspec「path/to/test_spec.rb」通過RubyMine之外的bash控制檯運行rspec測試。

這裏的設置過程實際上比較快一些,但是當我的測試真的執行時,我討厭通過控制檯中所有不好縮進的錯誤行進行操作,因此我傾向於使用RubyMines很好的檢查故障/成功測試(爲什麼支付訂閱,如果你不會使用它,對吧?)

通過外觀的東西,RubyMine在RSpec之前調用某種jruby命令 - 所以有沒有辦法配置RubyMine不能運行rspec測試時調用JRuby?或者至少有一種方法來配置RubyMine中的jruby GC,這樣我就不會遇到這些內存問題?

感謝,

+0

https://github.com/rails/activerecord-session_store是我用來解決這個問題的: –

回答

1

[解決]所以有點IDE的各種選項周圍挖掘後,我發現從運行/調試環境中的「編輯配置」選項下拉菜單。在這裏您可以設置JRuby的環境變量。如果你點擊RSpec選項,這個選項將擴展到顯示你所有的RSpec測試。點擊它們將顯示該測試的配置,其中包括一個名爲「環境變量」的選項。如果您在那裏粘貼-J-Xmx2048m,則會將2048mb分配給JRuby內存堆。

正如所料,這解決了這個問題,因爲RubyMine似乎限制了JRuby運行時默認可用的內存量。

顯然,您可以將內存值更改爲任何機器的能力,但這可以解決問題。

相關問題