24

当我尝试从 RubyMine 中运行测试时,我遇到了问题。但奇怪的是,当我从命令行运行测试时它工作正常。

“测试框架意外退出”

在此处输入图像描述

/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

也许问题来自那条线?

/usr/local/rvm/gems/ruby-1.9.3-p392/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228:警告:嵌套重复运算符+和?被替换为'*' ...

模式:测试脚本 使用预加载服务器:Ruby 参数: -e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) -Itest Ruby SDK:项目

但我很想拥有这样的东西:

在此处输入图像描述

谢谢

4

8 回答 8

18

在他们的在线帮助中有一个很好的设置 RubyMine 测试的教程Test::Unit,它帮助我解决了与您描述的相同的问题(用于-style 测试)。基本上,您需要将minitestminitest-reportersgem 包含到您的项目中,并添加一个调用以使用新格式的测试报告:

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

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

查看教程以获取更多选项。

于 2015-03-20T09:16:14.250 回答
13

我遇到了同样的问题,这是由于没有安装(全局?)测试库的 ruby​​ gems 引起的。例如,对于minitest测试框架(您没有指定使用哪一个),只需从命令行运行:

gem install minitest
gem install minitest-reporters

这解决了我的问题。

于 2014-08-18T20:22:35.807 回答
6

从 RubyMine(但不是从命令行)运行时,我遇到了同样的问题。它是通过重新启动弹簧修复的:

bin/spring stop
bin/spring status
于 2014-09-08T03:33:12.843 回答
1

如果您有两个具有相同名称的测试,您也可能会收到此错误。

于 2019-09-12T12:56:24.203 回答
0

您可以修复它,指定 RSpec 的 PATH。为了在 Ubuntu 中找到正确的路径,我使用了命令

rpsec 在哪里

在 RubyMine 中,转到菜单“Run”>“Edit Configurations”,标记“Use custom RSpec runner script”,并设置之前找到的路径。

于 2014-10-23T22:20:30.130 回答
0

我有同样的问题,我通过从 Gemfile 中删除 'guard-minitest' 解决了这个问题

于 2017-06-18T23:21:06.013 回答
0

当某些 gem 未检出时,您可能会收到此错误,因此您需要运行bundle install. 从终端运行您的测试,如果是这种情况,您将收到错误消息

于 2018-05-23T19:58:53.153 回答
0

您应该确保您的测试套件正在运行RAILS_ENV=test

对于 RubyMine,您可以在其中设置它Run > Edit Configurations.. > Choose test suite you want to run (i.e. spec: project_name) > Environment variables并添加上面提到的变量。

于 2018-01-23T06:23:00.013 回答