RubyMine Unit tests - Test Framework quit unexpect

2019-03-14 20:55发布

When I try to run the tests from within RubyMine I have an issue. But what is strange is that it work fine when I run the tests from the command line.

"Test framework quit unexpectedly"

enter image description here

/usr/local/rvm/rubies/ruby-1.9.3-p392/bin/ruby -e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) -Itest /Users/sabour/Desktop/EIP/project/test/controllers/categories_controller_test.rb
Testing started at 1:39 AM ...
Run options: --seed 14336

# Running tests:

/usr/local/rvm/gems/ruby-1.9.3-p392/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228: warning: nested repeat operator + and ? was replaced with '*'
...

Finished tests in 2.554592s, 1.1744 tests/s, 8.6119 assertions/s.

3 tests, 22 assertions, 0 failures, 0 errors, 0 skips

Process finished with exit code 0

Maybe the problem come from that line ?

/usr/local/rvm/gems/ruby-1.9.3-p392/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228: warning: nested repeat operator + and ? was replaced with '*' ...

Mode: Test script Use pre-load server: none Ruby arguments: -e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) -Itest Ruby SDK: project

But I would love to have something like this:

enter image description here

Thank you

7条回答
萌系小妹纸
2楼-- · 2019-03-14 21:33

You should be sure that your test suite is running with RAILS_ENV=test

For RubyMine you can set this up in Run > Edit Configurations.. > Choose test suite you want to run (i.e. spec: project_name) > Environment variables and there add variable mentioned above.

查看更多
地球回转人心会变
3楼-- · 2019-03-14 21:42

There is a nice tutorial for setting up RubyMine tests in their online help, which helped me resolve the same problem as you describe (for Test::Unit-style tests). Basically you need to include the minitest and minitest-reporters gems into your project and add a call to use the new format of tests reporting:

# Gemfile
group :test do
  gem 'minitest'
  gem 'minitest-reporters'
end

# test/test_helper.rb
require 'minitest/reporters'
MiniTest::Reporters.use!

Take a look at the tutorial for more options.

查看更多
够拽才男人
4楼-- · 2019-03-14 21:42

I had the same problem when running from RubyMine (but not from command line). It was fixed by restarting spring:

bin/spring stop
bin/spring status
查看更多
冷血范
5楼-- · 2019-03-14 21:42

You can fix it specifying the PATH for RSpec. To find the right path in Ubuntu, I used the command

whereis rpsec

In RubyMine, go to menu "Run" > "Edit Configurations", mark "Use custom RSpec runner script", and set the path found previously.

查看更多
虎瘦雄心在
6楼-- · 2019-03-14 21:42

You can get this error when some of the gems are not checked out, so you will need to run bundle install. Run your test from terminal and you will get an error if that is your case

查看更多
做自己的国王
7楼-- · 2019-03-14 21:46

I had the same problem, and it was caused by not installing (globally?) the ruby gems of the testing library. For instance, for the minitest testing framework (you didn't specify which one you use), just run from command line:

gem install minitest
gem install minitest-reporters

This solved the problem to me.

查看更多
登录 后发表回答