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
작성 .rspec
및 spec/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
'development' 카테고리의 다른 글
사용자 지정 이벤트에서 각도 UI 도구 설명 사용 (0) | 2020.12.10 |
---|---|
Django : 모델의 목록 필드? (0) | 2020.12.10 |
Swift의 튜플 열거 형 (0) | 2020.12.10 |
Bootstrap의 JavaScript에는 jQuery 버전 1.9.1 이상이 필요합니다. (0) | 2020.12.10 |
Flexbox는 Safari에서 첫 번째 행의 마지막 열을 감 쌉니다. (0) | 2020.12.10 |