반응형
rspec을 사용하여 레일 3의 컨트롤러에 전달 된 매개 변수를 테스트하는 방법은 무엇입니까?
우리의 코드 :
describe "GET show" do
it "assigns the requested subcategory as @subcategory" do
subcategory = Subcategory.create! valid_attributes
get :show, :id => subcategory.id.to_s
assigns(:subcategory).should eq(subcategory)
end
it "has a sort parameter in the url" do
subcategory = Subcategory.create! valid_attributes
get :show, {:id => subcategory.id.to_s, :params => {:sort => 'title'}}
helper.params[:sort].should_not be_nil
end
end
다음과 같은 오류 메시지가 나타납니다.
1) SubcategoriesController GET show has a sort parameter in the url
Failure/Error: helper.params[:sort].should_not be_nil
NameError:
undefined local variable or method `helper' for #<RSpec::Core::ExampleGroup::Nested_4::Nested_2:0x007f81a467c848>
# ./spec/controllers/subcategories_controller_spec.rb:54:in `block (3 levels) in <top (required)>'
rspec에서 매개 변수를 어떻게 테스트 할 수 있습니까?
get :show, {:id => subcategory.id.to_s, :params => {:sort => 'title'}}
해야한다
get :show, :id => subcategory.id.to_s, :sort => 'title'
통과 할 뜻이 아니라면 params[:params][:sort].
또한
helper.params[:sort].should_not be_nil
해야한다
controller.params[:sort].should_not be_nil
controller.params[:sort].should eql 'title'
(헬퍼를 테스트하려는 경우 헬퍼 사양을 작성해야합니다.)
Rails 5에서 params API가 변경되었습니다.
get :show, params: { id: subcategory.id.to_s, sort: 'title' }
반응형
'Program Club' 카테고리의 다른 글
| # 또는;로 시작하는 모든 줄을 삭제합니다. (0) | 2020.11.30 |
|---|---|
| 메모장 ++를 사용하여 ANSI 인코딩 파일을 UTF-8로 어떻게 변환합니까? (0) | 2020.11.30 |
| 배열에서 변경 가능한 목록을 만드시겠습니까? (0) | 2020.11.30 |
| 차원의 "x"에 적합한 HTML 엔티티는 무엇입니까? (0) | 2020.11.30 |
| 새 선택적 매개 변수를 허용하도록 SQL 서버 함수 변경 (0) | 2020.11.30 |