2012-03-15 2 views
0

탐색 모음이 있는지 테스트하는 방법을 찾으려고합니다. 탐색 모음은 부분적으로 만들어지고 필요할 때마다 별도의 페이지로 렌더링됩니다.Rspec에서 탐색 모음의 존재 여부 테스트

어떻게 테스트할까요?

<%= link_to "App_Name", root_path, :class => 'brand' %> 
<ul class="nav"> 
<% if user_signed_in? %> 
<li> 
<%= link_to('Logout', destroy_user_session_path, :method=>'delete') %>   
</li> 
<% else %> 
<li> 
<%= link_to('Login', new_user_session_path) %> 
</li> 
<% end %> 
<% if user_signed_in? %> 
<li> 
<%= link_to('Edit account', edit_user_registration_path) %> 
</li> 
<% else %> 
<li> 
<%= link_to('Sign up', new_user_registration_path) %> 
</li> 
<% end %> 
</ul> 
+0

탐색 모음의 구조 및 페이지의 위치를 ​​보여주는 샘플 HTML을 게시 할 수 있습니까? – PinnyM

답변

0

원하는 경우 RSpec 요청 사양과 함께 HTML 페이지 요소를 테스트해야합니다. Capybara 또는 webrat을 사용해야합니다.

는 내 취향이다 카피 바라,로, 당신은 다음과 같이 요구 사양을 작성합니다

describe "Navigation Requests Spec" do 

    describe "Navigation should be available" do 
    it "should show the navigation on the home page" do 
     visit root_path 
     page.should have_link('Logout') 
     page.should have_link('Login') 
     page.should have_link('Sign up') 
    end 
    end 
end 

은 확실히 당신은 로그인 한 사용자에 대한 테스트를 추가하고 무엇을 볼 수있는 확인합니다. 저는이 주장에 대한 모든 주장을 하나의 테스트에 넣었습니다. 답을 더 짧게 만들려고합니다. 실제로 개인적인 취향이지만 RSpec 방식으로 권장되는 별도의 테스트로 나누고 싶을 수도 있습니다.

카피 바라 페이지는 체크 아웃할만한 가치가 있으며, 페이지의 모든 종류의 html을 테스트 할 수있는 중요한 기능을 가지고 있습니다. RSpec 요청 테스트의 세부 사항을 확인하는 것도 가치가 있습니다.

0

RSpec에 관한 비슷한 질문이 하나 있습니다. 대부분의 일은 단순하지만 예외는 아닙니다. 생성 된 HTML 코드 또는 "보이는 것"을 확인하고 RSpec에이 요소가 있는지 확인하라고 지시하십시오. 도움이 되길 바랍니다