[RUBY-ON-RAILS] 정의되지 않은 메서드`#을 위해 '얻을 <RSpec에 :: 코어 :: ExampleGroup :: Nested_1 : 0x00000106db51f8>
RUBY-ON-RAILS정의되지 않은 메서드`#을 위해 '얻을
사람의 아는 방법이 문제를 해결하기 위해? OSX에서 RSpec에이 레일 3.0.7 실행려고. 전체 세부 사항에서 : https://gist.github.com/1017044
it "renders buttons_widgets partial" do
get :buttons_widgets
response.should render_template("buttons_widgets")
end
→ rspec tools_model_spec.rb
/Users/mm/.rvm/gems/ruby-1.9.2-p0@evergreen/bundler/gems/rspec-core-bea2366c817e/lib/rspec/core/version.rb:4: warning: already initialized constant STRING
/Users/mm/.rvm/gems/ruby-1.9.2-p0@evergreen/bundler/gems/rspec-core-bea2366c817e/lib/rspec/core/metadata.rb:48: warning: already initialized constant RESERVED_KEYS
/Users/mm/.rvm/gems/ruby-1.9.2-p0@evergreen/bundler/gems/rspec-core-bea2366c817e/lib/rspec/core/pending.rb:6: warning: already initialized constant DEFAULT_MESSAGE
/Users/mm/.rvm/gems/ruby-1.9.2-p0@evergreen/bundler/gems/rspec-core-bea2366c817e/lib/rspec/core/world.rb:6: warning: already initialized constant PROC_HEX_NUMBER
/Users/mm/.rvm/gems/ruby-1.9.2-p0@evergreen/bundler/gems/rspec-core-bea2366c817e/lib/rspec/core/world.rb:7: warning: already initialized constant PROJECT_DIR
/Users/mm/.rvm/gems/ruby-1.9.2-p0@evergreen/bundler/gems/rspec-core-bea2366c817e/lib/rspec/core/configuration.rb:43: warning: already initialized constant CONDITIONAL_FILTERS
/Users/mm/.rvm/gems/ruby-1.9.2-p0@evergreen/bundler/gems/rspec-core-bea2366c817e/lib/rspec/core/configuration.rb:48: warning: already initialized constant DEFAULT_BACKTRACE_PATTERNS
/Users/mm/.rvm/gems/ruby-1.9.2-p0@evergreen/bundler/gems/rspec-core-bea2366c817e/lib/rspec/core/runner.rb:13: warning: already initialized constant AT_EXIT_HOOK_BACKTRACE_LINE
/Users/mm/.rvm/gems/ruby-1.9.2-p0@evergreen/bundler/gems/rspec-core-bea2366c817e/lib/rspec/core.rb:35: warning: already initialized constant SharedContext
Run filtered excluding {:if=>#<Proc:/Users/mm/.rvm/gems/ruby-1.9.2-p0@evergreen/gems/rspec-core-2.6.4/lib/rspec/core/configuration.rb:43>, :unless=>#<Proc:/Users/mm/.rvm/gems/ruby-1.9.2-p0@evergreen/gems/rspec-core-2.6.4/lib/rspec/core/configuration.rb:44>}
F
Failures:
1) ToolsController renders buttons_widgets partial
Failure/Error: get :buttons_widgets
NoMethodError:
undefined method `get' for #<RSpec::Core::ExampleGroup::Nested_1:0x00000106db51f8>
# ./tools_model_spec.rb:7:in `block (2 levels) in <top (required)>'
해결법
-
==============================
1.당신의 예 get 메소드에 액세스 할 필요가 없습니다 RSpec에, 당신의 스펙은 컨트롤러 사양 것을 알고하지 않습니다.
당신의 예 get 메소드에 액세스 할 필요가 없습니다 RSpec에, 당신의 스펙은 컨트롤러 사양 것을 알고하지 않습니다.
RSpec에 2.x에서는 컨트롤러 디렉토리에있는 모든 컨트롤러 사양 있다고 가정합니다.
이 RSpec에 3 변경되었습니다 :
RSpec.configure do |config| config.infer_spec_type_from_file_location! end
https://www.relishapp.com/rspec/rspec-rails/docs/upgrade#file-type-inference-disabled
에서 README를 RSpec에-레일 :
RSpec에 대한 제어기 컨텍스트 메타 데이터의 설정 예 :
describe ToolsController, :type => :controller do # ... end
-
==============================
2.전혀 당신이 사용하는 경우 '사양 / 기능', 당신은 당신의 'spec_helper.rb'에 다음을 추가해야합니다
전혀 당신이 사용하는 경우 '사양 / 기능', 당신은 당신의 'spec_helper.rb'에 다음을 추가해야합니다
config.include RSpec::Rails::RequestExampleGroup, type: :feature
-
==============================
3.RSpec에에서 사양 형식이 자동으로 파일 위치로부터 추론되지 않으며, 수동이의 spec_helper.rb이 추가로 설정해야합니다 3.X
RSpec에에서 사양 형식이 자동으로 파일 위치로부터 추론되지 않으며, 수동이의 spec_helper.rb이 추가로 설정해야합니다 3.X
RSpec.configure do |config| config.infer_spec_type_from_file_location! end
RSpec에 업그레이드
-
==============================
4.내 spec_helper 파일 'RSpec에 / 레일'을 필요로 추가하여 내 응용 프로그램에서이 문제를 해결 할 수 있었다.
내 spec_helper 파일 'RSpec에 / 레일'을 필요로 추가하여 내 응용 프로그램에서이 문제를 해결 할 수 있었다.
-
==============================
5.이에보고 다른 사람을 위해. 나는 정의되지 않은 메서드 'GET'오류를 추적하려고했다. 내 문제는 귀하의 get이 차단에 있는지 블록 메이크업을 설명에 나는 GET 있다고했다.
이에보고 다른 사람을 위해. 나는 정의되지 않은 메서드 'GET'오류를 추적하려고했다. 내 문제는 귀하의 get이 차단에 있는지 블록 메이크업을 설명에 나는 GET 있다고했다.
-
==============================
6.광고 대체함으로써 해결 PagesController이 함께 할 설명 RSpec.describe PagesController : 유형 => : 컨트롤러 DO 사양 폴더에 _spec.rb 파일입니다. 또한 대신 be_success해야 응답의 be_success .TO (응답)으로 기대할 중단 경고 사용을 방지합니다. 추신 : "rails_helper"을 필요로 추가 할 필요가 없었다.
광고 대체함으로써 해결 PagesController이 함께 할 설명 RSpec.describe PagesController : 유형 => : 컨트롤러 DO 사양 폴더에 _spec.rb 파일입니다. 또한 대신 be_success해야 응답의 be_success .TO (응답)으로 기대할 중단 경고 사용을 방지합니다. 추신 : "rails_helper"을 필요로 추가 할 필요가 없었다.
-
==============================
7.내 .rspec 파일로 내 스펙 파일이나 --require spec_helper의 상단에 'spec_helper'을 필요로 추가하는 것을 잊었다 때이 오류가 발생했습니다.
내 .rspec 파일로 내 스펙 파일이나 --require spec_helper의 상단에 'spec_helper'을 필요로 추가하는 것을 잊었다 때이 오류가 발생했습니다.
-
==============================
8.당신이 .rspec 파일을 생성하는 RSpec에 사용한 경우에서 콘텐츠를 변경해야합니다 :
당신이 .rspec 파일을 생성하는 RSpec에 사용한 경우에서 콘텐츠를 변경해야합니다 :
--require spec_helper
에:
--require rails_helper
-
==============================
9.대안은 유형을 지정하는 것입니다 : 당신의 사양에 대한 요청. 예를 들면 :
대안은 유형을 지정하는 것입니다 : 당신의 사양에 대한 요청. 예를 들면 :
RSpec.describe "Widget management", :type => :request do it "creates a Widget and redirects to the Widget's page" do get "/widgets/new" expect(response).to render_template(:new) post "/widgets", :widget => {:name => "My Widget"} expect(response).to redirect_to(assigns(:widget)) follow_redirect! expect(response).to render_template(:show) expect(response.body).to include("Widget was successfully created.") end end
예 https://www.relishapp.com/rspec/rspec-rails/docs/request-specs/request-spec 여기에서 가져옵니다.
-
==============================
10.내가 추가 할 때 나는이 문제를 가지고 있었다
내가 추가 할 때 나는이 문제를 가지고 있었다
gem 'rspec'
레일 프로젝트 내 Gemfile에. 그것은해야한다
gem 'rspec' gem 'rspec-rails'
(또는 RSpec에 레일). 후
bundle install
와 사양 디렉토리를 다시 작성
rspec --init
및 (가 사양 디렉토리에있는 경우 작동하지 않습니다) 해당 디렉토리에 xxx_spec.rb 파일을 넣어. 초보자 오류하지만 어쩌면이 누군가하는 데 도움이;) 여기에 나를 도와 준 링크의를 :
https://www.relishapp.com/rspec/rspec-rails/docs/gettingstarted
-
==============================
11.이것은 다음과 같은 조건에서 발생할 수 :
이것은 다음과 같은 조건에서 발생할 수 :
어느 # 1, # 2는 스펙에 설치해야합니다. 또한,이뿐만 아니라이 조건에서 발생할 수 :
상호 참조 GH 문제 https://github.com/rails/rails-controller-testing/issues/36
from https://stackoverflow.com/questions/6296235/undefined-method-get-for-rspeccoreexamplegroupnested-10x00000106db51f by cc-by-sa and MIT license
'RUBY-ON-RAILS' 카테고리의 다른 글
[RUBY-ON-RAILS] 레일 콘솔 : 재 장전! 모델 파일의 변화를 반영하지? 가능한 이유 무엇을 할 수 있을까? (0) | 2020.02.19 |
---|---|
[RUBY-ON-RAILS] 루비 온 레일 : 여러 has_many : 수를 통해? (0) | 2020.02.19 |
[RUBY-ON-RAILS] 어떻게 부하는 루비에 필요 다릅니 까? (0) | 2020.02.19 |
[RUBY-ON-RAILS] 내가 jQuery를 사용하여 레일에 데이터를 입력하려면 어떻게 (0) | 2020.02.19 |
[RUBY-ON-RAILS] 3 개 비활성화 세션 쿠키를 레일 (0) | 2020.02.19 |