27

Rails 3.2.16 プロジェクトで rspec とガードで spring を使用しようとしています。

spring と spring-commands-rspec をインストールした後、binstub を次のように作成しました。

> bundle exec spring binstub --all
  * bin/rake: spring inserted
  * bin/rspec: spring inserted
  * bin/rails: spring inserted

spring で spec を実行しようとすると失敗します (gems パスとプロジェクト パスは読みやすくするために置き換えられています):

> bin/rspec spec/
Version: 1.1.0

Usage: spring COMMAND [ARGS]

Commands for spring itself:

binstub         Generate spring based binstubs. Use --all to generate a binstub for all known commands.
help            Print available commands.
status          Show current status.
stop            Stop all spring processes for this project.

Commands for your application:

rails           Run a rails command. The following sub commands will use spring: console, runner, generate, destroy.
rake            Runs the rake command
rspec           Runs the rspec command
rspec binstub
No DRb server is running. Running in local process instead ...
gemspath/rspec-core-2.14.7/lib/rspec/core/configuration.rb:896:in `load': cannot load such file -- [PROJECT_PATH]/rspec (LoadError)
from gemspath/rspec-core-2.14.7/lib/rspec/core/configuration.rb:896:in `block in load_spec_files'
from gemspath/rspec-core-2.14.7/lib/rspec/core/configuration.rb:896:in `each'
from gemspath/rspec-core-2.14.7/lib/rspec/core/configuration.rb:896:in `load_spec_files'
from gemspath/rspec-core-2.14.7/lib/rspec/core/command_line.rb:22:in `run'
from gemspath/rspec-core-2.14.7/lib/rspec/core/runner.rb:77:in `rescue in run'
from gemspath/rspec-core-2.14.7/lib/rspec/core/runner.rb:73:in `run'
from gemspath/rspec-core-2.14.7/lib/rspec/core/runner.rb:17:in `block in autorun'

その他の試み:

> spring rspec

春のヘルプのみを表示

同じことが言えます

> spring rspec spec/

rspec binstub (bin/rspec) は次のとおりです。

#!/usr/bin/env ruby
begin
  load File.expand_path("../spring", __FILE__)
rescue LoadError
end
require 'bundler/setup'
load Gem.bin_path('rspec', 'rspec')

何か案が ?

4

3 に答える 3

60

私も同じ問題を抱えていました。春を止めて私のに追加することで解決しましたGemfile

gem 'spring-commands-rspec', group: :development, require: false

新しく追加されたコマンドを使用するには、Spring を再起動する必要があります。

bin/spring stop
bin/rspec path/to/file.rb
于 2014-02-10T13:31:38.277 に答える
13

時代遅れの答え!修正されました。以下の@pfleidiの回答を参照してください。

なぜ問題が解決したのかわからなくても、私は問題を解決しました。

gem 'spring', group: :developmentGemfile から削除するだけで、あとはgem 'spring-commands-rspec'残ります。

実行bundle installしてからspring rpsec spec動作します! そのすっごく速い:)

于 2014-01-21T14:05:47.663 に答える
10

スプリングを再起動する必要があります。停止してから再実行してください

spring stop

spring rspec

その後、期待どおりに動作するはずです。

于 2014-05-28T16:27:48.833 に答える