2014-09-08 4 views
1

Capybara, 특히 capybara-webkit 드라이버를 사용할 때 메서드를 스텁하는 것이 가능합니까?Capybara의 스터 빙 방법 사양

이 작동하지 않습니다

before do 
    User.any_instance.stub(:get_tweets) 
    visit tweets_path 
end 

을 삐 - 웹킷 드라이버가에 레일 응용 프로그램을 실행하는 반면 나는, 우리는 RSpec에 땅의 사용자 개체를 스텁하고 있기 때문에 작동하지 않습니다 추정 분리 된 "실".

사양 스펙에서 조롱/스텁에 대한 모범 사례가 있습니까?

답변

0

일반적으로 Capybara는 Rails 앱을 전혀 실행하지 않습니다. 앱의 끝점을 맞추고, 페이지를 탐색하고, 내용에 어설 션하는 데 사용됩니다.

즉, db\seeds.rb을 사용하여 테스트 데이터를 만든 다음 더미 데이터가로드 된 앱에 대해 사양을 실행해야합니다.

일부 통합 테스트에서는 Capybara 사양을 사용하여 테스트 데이터를 만들 수 있습니다 (예 : 사용자를 생성 한 후 사용자 프로필을 업데이트하려고하는 통합 테스트).

+2

이렇게 대답하면 효과적으로 통합 테스트에서 조롱이 가능하지 않습니다. VCR을 사용해 보았지만 작동하지 않습니다. 통합 테스트에서 객체를 조롱하는 방법이 있어야합니다 ... –