2010-06-17 4 views
3

Rails RSpec 테스트에서 HTML 속성이 없음을 어떻게 확인할 수 있습니까?입력 태그 값 속성이 없음에 대한 테스트

내가 input 태그가 value 속성이 있는지 확인 할 수 있습니다 빈 문자열과 같이이다 :

response.should have_tag("input[name=?][value=?]", "user[password]", "") 
response.should have_tag("input[name=?][value=?]", "user[password_confirmation]", "") 

하지만 내가 원하는 것은 내 입력 필드가 value 속성이없는 것을 확인하다 전혀 (즉, 빈 필드).

답변

3

response.should_not have_tag("....")에 대한 그것을 알아 냈 :

response.should_not have_tag("input[name=?][value]", "user[password]") 
response.should_not have_tag("input[name=?][value]", "user[password_confirmation]") 

는 그냥 =없이 value 속성을 사용할 수 있습니까? 부품. 따라서 input 태그에 포함 된 내용에 관계없이 value 특성이 있으면 테스트가 실패합니다.

+1

4 개월 후에, 나는 당신의 연구의 이익을 거두어들입니다. 고마워, 제프. – Iain

0

방법

+0

어떻게 생각 value 속성의 부족을 지정합니까? 값 태그가 아니라 입력 태그가 있어야합니다. – Jeff

1

has_tag에는 has_tag와 같은 메소드가 없다는 오류가 리턴된다는 여러 사이트가 있습니다.

내 해결 have_selector을 사용하는 것입니다

 response.should have_selector("input#user_password", :content => "")
user_password이 경우에 (내 페이지의 소스를보고 발견 원하는 입력 태그 (암호 필드)의 id 속성입니다

, 가입 페이지), 파운드 기호는 입력 태그의 id 필드를 사용하고있는 것을 나타냅니다.

내용 : "content"의 값을 변경하여 작동하는 것으로 확인되었고 테스트가 실패했습니다.

RSpec에 레일 2.5.0 를 사용 RSpec에 2.5.0