13

运行所有模型测试时,rubyMine 'MiniTest framework was detected' 错误。

我可以在常规命令行上运行所有模型测试。例如rake spec:models
,当我使用 ruby​​Mine 时:
我可以运行一个模型测试。
但是,当我尝试在模型中运行所有测试时,我得到
MiniTest framework was detected. It is a limited version of original Test::Unit framework. RubyMine/IDEA Ruby plugin test runner requires full-featured version of the framework, otherwise default console tests reporter will be used instead. Please install 'test-unit' gem and activate it on runtime.

我尝试将“测试单元”添加到我的 Gemfile 并重新捆绑,但现在得到:

`/home/durrantm/.rvm/rubies/ruby-1.9.2-p180/bin/ruby -e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) 
  /home/durrantm/Downloads/RubyMine-3.2.3/rb/testing/runner/tunit_in_folder_runner.rb
Testing started at 9:33 AM ...
Work directory: /home/durrantm/Dropbox_not_syncd/webs/3/rubyists/spec/models}
Loading files.... 
=========================================
0 files were loaded.
=========================================
Searching test suites...
=========================================
0 test suites, 0 tests, 0 assertions, 0 failures, 0 errors
Process finished with exit code 0`

注意:有趣的 } 在工作目录中。我仍然得到Unable to attach test_reporter to test fraemwork message.

版本:Ubuntu 11 RubyMine 3.2

4

4 回答 4

11

我终于让这个工作了。主要是通过更改菜单下的内容:
运行 -> 编辑配置 -> 单击 Rspec -> 创建新配置。

对于新配置,请确保 specs 文件夹指向应用程序规范模型。

最后一步(真正让它工作的那个)是将工作目录(仍然在运行/调试配置屏幕上)设置为我的应用程序根目录!

我还做的另一件事是添加gem 'test-unit'到 Gemfile 并捆绑它。然而,后来的测试(删除它并解绑)表明它不是必需的,实际上是在使用空套件多次运行测试(可能尝试使用默认 unit::test 以及运行 rspec)。

于 2011-09-24T15:54:44.523 回答
4

我也有这个问题,但解决方法与其他海报不同。

在 ruby​​mine 中,我添加了 minitest-reporters gem。然后在我的 minitest_helper.rb 我添加了以下内容:

require "minitest/reporters"
MiniTest::Unit.runner = MiniTest::SuiteRunner.new
MiniTest::Unit.runner.reporters << MiniTest::Reporters::RubyMineReporter.new
于 2012-04-27T23:52:49.593 回答
3

在我的系统上,问题是“红绿”宝石。它会根据成功或失败自动为进度标记(点)和 Test::Unit 摘要消息着色。RubyMine 中一定有一些东西试图解析 Test::Unit 结果(我想是“rake test”的输出),并且它在 ANSI 序列上阻塞。

我在我的 test/test_helper.rb 中注释掉了“require 'redgreen'”,问题就消失了。不过,我真的很喜欢 redgreen 从 shell 执行“rake test”,所以我把它放在 test_helper 中,以使其适用于“rake test”和 RubyMine:

require 'redgreen' if $stdin.tty?

导致您的问题的可能不是红绿色,但要怀疑任何可能产生非常规 Test::Unit 输出的东西。

祝你好运!

于 2011-10-04T04:12:22.003 回答
0

对我来说,我通过确保正确命名文件来解决这个问题。需要以单词 test 开头或以单词 test 结尾。这实际上取决于您在测试配置下的“测试文件名掩码”。对我来说,我的是:* /{ _test,test_*}.rb

例如:test_case_01.rbcase_01_test.rb

于 2013-05-13T18:40:58.170 回答