2014-04-14 8 views
0

그래서 페이지가 실제로이하는 것입니다 테스트 카피 바라를모범 사례

describe "Pages" do 
    subject { page } 
    describe "Home page" do 
    it "should have the title 'My Home Page'" do 
     visit root_path 
     expect(page).to have_title('My Home Page')  
    end 
    end 
end 

지금은 표준 방법처럼 보인다을 사용하여 방문한 것을 가장 좋은 방법은 시험에 대해 이동하는 것입니다 무엇인지 궁금 해서요 위와 같이 페이지의 제목을 비교하십시오. 이것은 비록 페이지 제목이 변경되면, 이것을 참조하는 테스트를 망가뜨릴 것처럼 매우 견고한 것처럼 보이지 않습니다.

표준 방식입니까? 또는 그것을 테스트하는 다른 방법이 있습니다.

덕분에, 매트

답변

2

나는 당신이 준 예는 페이지를 방문하는지 테스트 할 수있는 표준 방법이라고 생각하지 않습니다. 페이지의 제목이 기대 한 것과 일치하는지 확인하는 표준 방법입니다. P

capybara에서 경로에 대한 주장을하려면 훨씬 더 신뢰할 수있는 방법 인 current_path을 사용합니다. 따라서 다음과 같이 예제를 다시 작성할 수 있습니다.

describe "Pages" do 
    describe "Home page" do 
    it "will visit root_path" do 
     visit root_path 
     expect(current_path).to eql root_path 
    end 
    end 
end 

이 테스트는별로 중요하지 않습니다. 우리는 모두 capybara가 잘 테스트되었고 우리가 그렇게 말하면 root_path을 방문 할 것입니다. 어쨌든, 온전한 체크 또는 무언가를 만들고 싶다면 이것이 올바른 길입니다.

도움이 되었기를 바랍니다.