development

rspec 실행시 오류 :`require ': 해당 파일을로드 할 수 없음 — rails_helper (LoadError)

big-blog 2020. 12. 10. 20:50
반응형

rspec 실행시 오류 :`require ': 해당 파일을로드 할 수 없음 — rails_helper (LoadError)


Ruby on Rails에 대해 rspec을 실행하려고합니다. Rails 4.1.1을 실행하고 있습니다. 나는 gem을 설치하고 몇 가지 테스트를 통해 spec 폴더를 설정했습니다. 나는 통해 디렉토리를 만들었습니다$ rails g rspec:install

테스트 데이터베이스를 만들려고했지만 $ rake db:test:prepare다음 오류 메시지가 표시됩니다.

WARNING: db:test:prepare is deprecated. The Rails test helper now maintains your test 
schema automatically, see the release notes for details.

그래서 나는 이 스택 오버플로 게시물을 보았습니다 . 두 가지 옵션 중 작동하는 것은 다음과 같습니다.

rake db:schema:load RAILS_ENV=test 

그래서, 지금은 RSpec을 실행해야합니다 .

$ rspec spec명령 줄에서 실행할 때이 오류가 발생합니다.

/Users/myname/.rbenv/versions/2.1.1/lib/ruby/2.1.0/rubygems/core_ext/
kernel_require.rb:55:in `require': cannot load such file -- rails_helper (LoadError)

테스트 실행을 시작할 수 있도록이 문제를 어떻게 해결합니까?


rspec V3에 문제가 있습니다. 그러나 귀하의 경우에는 V2를 사용하고 있습니다.

변화

require 'rails_helper'

...에

require 'spec_helper'

기타 설명은 여기에서 찾을 수 있습니다. https://teamtreehouse.com/forum/problem-with-rspec

V3의 경우 :

rspec V3를 사용하는 사람이 생성기가 실행되지 않을 때 유사한 오류가 발생합니다. 그래서 무언가를 시도하기 전에 생성기를 실행하십시오.

rails generate rspec:install

본체에 엄청난 경고 목록이 표시되는 경우. 그럼 당신은 제거 할 필요가 --warnings에서 .rspec파일.


실제로 rspec 3을 사용하는 레일 4에서이 오류가 발생했지만 제 경우에는 생성기를 실행하는 것을 잊었습니다.

rails generate rspec:install

또한 나는 제거해야 warnings부터 .rspec로, rpsec 개발자 중 하나에 의해 명시된


저에게 문제는 다른 "rspec-support"버전이로드되고 활성화 되었기 때문이었습니다. "bundle exec"를 앞에 추가하여 해결했습니다.

bundle exec rspec

최신 버전 (3.5)의 경우 생성기를 실행해야하는 경우 rails generate rspec:install작동하지 않습니다. 나는 다음을 사용했다 :

rspec --init

작성 .rspecspec/spec_helper.rb.

편집 : 경우에 따라 Rails가 아닌 Ruby 용 rspec gem을 설치 했으므로 rspec : install을 사용할 수 없었습니다. https://github.com/rspec/rspec-rails를 사용해야합니다 .


나는 같은 오류가 있었지만 rails_helper어디에도 참조가 없었고 레일을 사용하지도 않았습니다.

그러나 결국 문제를 일으키는 (아마도 과거에 레일 앱을 만들 때) ~/.rspec필요 하다는 것을 알게 rails_helper되었습니다 ...

$ cat ~/.rspec
--color
--format documentation
--require spec_helper
--require rails_helper

수정은 해당 줄을 제거하는 것만 큼 간단합니다. 이것이 다른 사람이 같은 문제를 해결하는 데 도움이되기를 바랍니다.


나를 위해 일한 한 가지 가능성은 spec_helper. RubyMine은 기본적으로 필요할 수 있으며 이로 인해 때때로이 rspec오류가 발생할 수 있습니다.


때로는 프로젝트의 상위 디렉토리에서 rspec 명령을 실행해야합니다.


이 제안 중 어느 것도 rspec-rails 3.2.3을 사용하는 Rails 4.2.0에서 저에게 효과적이지 않았습니다.

대신 스펙 파일의 맨 위에 다음 두 줄을 배치했습니다.

require 'rails_helper'
require 'spec_helper'

이제 실행할 수 있습니다 rspec spec/features/my_spec.rb.


컨트롤러 테스트를 실행할 때 설명한 오류가 있습니다. 그러나 모델 테스트를했을 때 진정한 오류가 발생했습니다. 내 데이터베이스가 마이그레이션되지 않았기 때문에 오류가 발생했다는 메시지가 표시되었습니다. 이 명령을 실행하여 오류를 수정했습니다.

rake db:test:prepare


파일 이름이 잘못되었을 수도 있습니다. 이 글은 종료해야합니다 _spec.rb. 파일의 철자를 잘못 입력 _soec.rb하여 잠시 머리를 긁적입니다 ...


누군가를 위해. 특정 파일을 테스트하려고 할 때 해당 오류가 발생하면. 당신은 이것을 좋아할 수 있습니다

$ bundle exec rspec ./spec/features/user_login_spec.rb
$ bundle exec rspec ./spec/models/user_login_spec.rb

Always remember to run the rspec or the bundle exec rspec from the root of your project. Something like:

bundle exec rspec spec/features/file_test_spec.rb

참고URL : https://stackoverflow.com/questions/25800122/error-when-trying-to-run-rspec-require-cannot-load-such-file-rails-helper

반응형