MVP (최소 실행 가능 제품)로 작업하고 있습니다. 관리 페이지를 보호하는 더 간단한 방법을 제공하기 위해 http_basic_authenticate_with를 AdminController에 추가했습니다.레일 건너 뛰기 RSpec 테스트에서 http_basic_authenticate_with 사용
문제는 내 AdminController을 테스트 할 때 로그인하지, 나는이 (401) "승인되지 않은"얻을 것입니다
이 시나리오에서는, 그것은 인증을 테스트 무관입니다 -.으로 그냥 일시적으로, 그리고 빨리 다음 스프린트에 가면 제거 될 것입니다. 그래서 RSpec에서 건너 뛰려고합니다.
문제는 여러 가지 방법으로 시도했지만 아무 것도 작동하지 않는 것 같습니다.
예를 들어 인증을 피하기 위해 http_basic_authenticate_with를 수정하려고했습니다. 이와 같이 :
require 'spec_helper'
module ActionController
module HttpAuthentication
module Basic
def http_basic_authenticate_with(*args)
end
end
end
end
describe Admin::SubscribersController do
describe "GET 'index'" do
it "should be OK" do
get 'index'
response.should be_successful
end
end
end
그러나 실행할 때 여전히 간단한 테스트를 위해 "false"가 반환됩니다.
Btw,이 테스트를 단순화하기 위해 AdminController에 빈 인덱스 조치가 있고 빈보기 (index.html.erb)가 있습니다.
감사합니다,하지만 내 경우에는 내가 그것을 피하고 싶어 (난 그냥 임시 아마도 다음 주에 이미 제거 될 것입니다 말한대로). 가능한가? 그것을 건너 뛰는 방법에 대한 제안? –
어쩌면 당신은 전혀 테스트가 필요 없습니까? 그러나 당신은 그것을 피하기 위해 메타 프로그래밍을 할 수 있습니다. 가장 빠른 옵션입니다. 링크에서 찾은 방법은 ... –
죄송합니다. 약간 잘못 생각한 것 같습니다. 위에 제시 한 예는 그저 예일뿐입니다. 내 실제 AdminController는 그렇게 될 수는 없지만 HTTP 인증은 임시적입니다. 나는 암호를 변경할 때 시험을 변경해야하기 때문에 시험 전에 인증하고 싶지 않았다. 생각을 건너 뛰면 더 쉽고 더 좋은 방법이 될 것입니다. 내가 건너 뛸 수있는 방법에 대한 예가 있다면 (내가 준 예가 내가 가진 유일한 생각이었다) 알려 주시기 바랍니다. –