2016-02-18 8 views
1

Я недавно был благословлен RubyMine 8.0.3 на работе, и несмотря на то, что IDE довольно прост в использовании, у меня возникают проблемы с запуском мои тесты RSpec проходят через встроенную консоль RSpec. Проблема в том, что мои спецификации не работают во время первоначальной настройки с ошибкой «Java :: JavaLang :: OutOfMemoryError: превышение верхнего предела GC».RubyMine - Запуск RSpec/jruby Java :: JavaLang :: OutOfMemoryError: превышен верхний предел GC

Я знаю, что это сборщик мусора java, который заканчивается из-за нехватки памяти, вероятно, вызванный каким-то неэффективным кодом где-то, что предваряет мое участие в проекте. Однако у меня нет проблем с запуском тестов rspec через консоль bash вне RubyMine с помощью команды rspec «путь/to/test_spec.rb».

Процесс настройки на самом деле немного быстрее здесь, но я ненавижу троллинг через все строки с плохой отступами в консоли, когда мои тесты действительно выполняются, поэтому мое предпочтение в использовании RubyMines - хороший способ проверки неудач/успешных тесты (зачем платить за подписку, если вы не собираетесь ее использовать, правда?)

По внешнему виду RubyMine вызывает некоторую команду jruby перед RSpec, так что есть способ настроить RubyMine на отсутствие вызывать JRuby при запуске тестов rspec? Или, по крайней мере, способ настроить jruby GC в RubyMine, чтобы я не сталкивался с этими проблемами памяти?

Спасибо,

+0

https://github.com/rails/activerecord-session_store это то, что я использовал для решения этой проблемы: –

ответ

1

[РЕШИТЬ] Так после немного покопаться в различных вариантах в IDE, я нашел вариант «редактировать конфигурации» из среды запуска/отладки падение вниз. Здесь вы можете установить переменные среды для JRuby. Если вы нажмете на опцию RSpec, это расширится, чтобы показать все ваши тесты RSpec. Нажав на них, будут показаны конфигурации для этого теста, в который входит опция «Переменные среды». Если вы нажмете -J-Xmx2048m, это позволит выделить 2048mb в кучу памяти JRuby.

Как и ожидалось, это решает проблему, поскольку RubyMine, по-видимому, ограничивает объем памяти, доступный по времени для JRuby.

Очевидно, что вы можете изменить значение памяти на все, на что способен ваш аппарат, но это решает проблему.