Rails UJS에서 시작한 AJAX 호출을 테스트하고 싶습니다. 특히, 레일스의 UJS 아약스 이벤트를 사용하여 오류의 경우를 제공했습니다.Stub Rails UJS/Ajax는 Rspec/Capybara 기능 테스트에서 메시지를 반환하는 테스트 상태로 응답합니다.
내가 그들을 테스트하고 싶지만 나는 다음과 같이 뭔가를하고 싶은
$("button").
on('ajax:error',function(event,xhr, status, error){
if(status == "timeout") {
var msg;
msg = Messenger().post({
message: "This is taking too long"
});
} else {
var msg;
msg = Messenger().post({
message: "it seems there is a bug. Please try again."
});
};
});
오류 코드 RSpec에/카피 바라가 "그루터기"를 이야기하는 방법을 알고 생각하지 않습니다
에게describe "test returning error message", js: true do
it "should be successful" do
visit deal_page_path(deal)
first('a.button').click
stub(:xhr.status) = "timeout"
expect(page).to have_content('This is taking too long')
end
end
어떻게 하시겠습니까?
참고 : ajax 요청은 제 3 자 API 또는 서비스 (예 : facebook과 같은)로 이동하지 않는 내부 요청입니다.
덕분에, 나는 빌어 먹을 puffung을 만났습니다. 하지만 그것은 레일 ujs 아약스 모달을 stubbing보다 http에 더 많은 초점을 보였다. 빌리와 함께 할 수 있을까요? – Mathieu
@ 마티유. HTTP 요청에 대한 상태 응답을 위조하려고합니다. 정확하게 빌어 먹을 빌리로하면 –
덕분에 성공했습니다. – Mathieu