2012-11-11 2 views
0

업데이트 작업을 통해 사용자 업데이트를 수동으로 테스트하려고합니다. 어떻게에 요청을 보낼 수 있습니다레일 : 테스트 업데이트 작업 입력 요청

Failure/Error: put :update, :id => user.id, :user => attr 
ArgumentError: 
    bad argument (expected URI object or URI string) 
# ./spec/requests/users_request_spec.rb:55:in `block (3 levels) in <top (required)>' 

:

나는 사양/요청/user_request_spec.rb 코드의 다음 줄을 시도했다 :

user = create(:user, username: "username", password: "secret", password_confirmation: "secret") #Factory Girl 
attr = { username: "newusername" } 
put :update, :id => user.id, :user => attr 

을 그리고 나는 다음과 같은 오류가 발생합니다 rspec을 통해 사용자를 업데이트 하시겠습니까?

+0

이 예 도움을 당신에게 http://stackoverflow.com/questions/9223336/how-to- 않습니다

어떤 경우

, 테스트에 Rack::Test::Methods을 포함, 당신이 계신 제공해야한다 간단한 - 넣어 - 업데이 트를위한 - - rspec - 테스트를위한 – Abram

+0

예제를 반영하기 위해 질문을 업데이트하고 동일한 문제가 없습니다 – GTDev

답변

0

'put'이 정의되는 위치가 확실하지 않아 메소드가 없습니다. 오류가 예상됩니다. put을 정의하는 다른 것을 포함해야합니다.

describe Foo do 
    include Rack::Test::Methods # provides get, post, put, etc 

    ... 
end