디버깅을 시도하고 있는데 값이 사용자 속성에 제대로 설정되어 있지 않은 것으로 나타났습니다. 디버그 콘솔에서 p user.height_feet
또는 p user.height_inches
을 실행할 때, 대신 nil
을 얻습니다. 대신에 첫 번째 반복에서 각각 1
및 8
을 반환 할 것으로 예상됩니다. p invalid_height.first
및 p invalid_height.second
그러나 1
및 8
을 올바르게 반환하십시오.RSpec - 사용자 속성에 올바르게 설정되지 않은 값
describe "when height is invalid" do
invalid_height = [[1, 8], [8, 2], [5, 13], ['text', 'text'], ['text', 11], [5, 'text'], ['', '']]
invalid_height.each do |invalid_height|
before do
user.height_feet = invalid_height.first
user.height_inches = invalid_height.second
end
it "should not be valid" do
debugger
user.should_not be_valid
end
end
end
그리고 디버그 단자에서 출력 : 여기에
는 코드 IRC 채널이이 범위의 문제가 될 수 있음을 제안 #rubyonrails에서(rdb:1) p user.height_feet
nil
(rdb:1) p user.height_inches
nil
(rdb:1) p invalid_height.first
1
(rdb:1) p invalid_height.second
8
사람과 물어 내 사용자는 내 before
및 it
블록이 다른 사용자를 나타낼 수 있다고 정의됩니다. 동일한 사양의 파일에서 다른 테스트를 수행했기 때문에 이것이 문제가 될 것이라고는 생각하지 않았습니다. before
및 it
블록은 정상적으로 실행됩니다. 생각?
고마워요! 매우 유익한. 저는 루비를 처음 접했을 때'context' 블록에 익숙하지 않습니다. 그러나 더 자세히 알기 위해 살펴 보겠습니다. – Nick