在RubyMine中运行规范会导致“无法加载此类文件 - teamcity / spec / runner / formatter / teamcity / formatter(LoadError)”

时间:2014-07-02 08:03:08

标签: ruby-on-rails ruby ruby-on-rails-4 rspec rubymine

操作系统:Arch Linux,Rails版本:4,RubyMine:6.3

当我从工具运行规范 - 运行Rake任务 - 规范时,我总是收到此错误:

  

/home/chylli/.rvm/gems/ruby-2.1.2@rails4/gems/rspec-core-3.0.2/lib/rspec/core/configuration.rb:1024:in`requirement':无法加载这样的文件 - teamcity / spec / runner / formatter / teamcity / formatter(LoadError)

但运行'debug spec:models'是可以的。

我尝试了什么:我在运行 - 编辑配置下添加了'ruby arguments':

  

-I $ RUBYMINE_HOME / rb / testing / patch / bdd -I $ RUBYMINE_HOME / rb / testing / patch / common

但它不起作用。

3 个答案:

答案 0 :(得分:116)

运行

spring stop
在从RubyMine运行rake,或直接运行specs,或使用spring执行任何其他操作之前,在命令行上

每次在RubyMine中运行rake或specs或其他任何东西时,你都不需要这样做,只要你以前通过运行rake或者在RubyMine之外开始运行的其他东西开始运行。当您从RubyMine切换回命令行时,您也不需要spring stop

发生这种情况是因为如果在运行rake或者RubyMine以外的任何东西时Spring没有运行,spring将启动并预加载代码而不是RubyMine特定的代码。显然,spring在启动后不知道如何加载丢失的代码。

答案 1 :(得分:5)

我花了很多时间来解决这个问题,而无需重新启动弹簧。

我在spring-commands-rspec gem的分支中创建了Pull Request quick hack

但它看起来不像repo是活动的,所以你可以通过将 spring-commands-rspec 条目切换到你的Gemfile来使用我的修复:

gem 'spring-commands-rspec', git: 'https://github.com/thewoolleyman/spring-commands-rspec.git'

HTH,:) - 乍得

答案 2 :(得分:3)

今天遇到同样的问题,我不得不采取不同的行动:

spring stop会告诉我Spring is not running

所以我必须

<强> 1。手动杀死他们

ps aux | grep spring

会给我

thomasromera     27841   [...] | spring app    | started 23 hours ago | development mode
thomasromera     38931   [...] | spring app    | started 18 hours ago | development mode
thomasromera     54661   [...] | spring app    | started 4 mins ago | development mode
thomasromera     27840   [...] | spring server | started 23 hours ago

然后杀死所有服务器+应用

kill 27840
kill 38931
...

<强> 2。在RubyMine中关闭弹簧预加载器:

在RubyMine中: CMD + Shift + A 类型spring pre-loader,将其关闭并重新运行规范。

如果需要,请不要忘记再打开它。