2017-11-17 18 views
1

Cypress에서 라우트가 호출되지 않았다는 것을 주장하려고합니다. 필자는 문서를 철저히 검토하여 아무것도 발견하지 못했습니다. 나는 현재 성공적인 요청 토스트 메시지가 표시되지 않는 것을 주장함으로써이 문제를 해결하고 있어요경로가 Cypress에서 호출되지 않았다는 것을 주장하는 방법이 있습니까?

cy.get('@myRouteAlias').should('have.not.been.called'); 

하지만 어설픈 솔루션입니다 :

나는 이런 식으로 뭔가를 시도하고있다.

아이디어가 있으십니까?

+0

https://stackoverflow.com/q/47295287/927631의 중복 – Dwelle

답변

2

조치가 이 아니고이 아닌 상황을 테스트하는 것은 매우 어렵습니다. 주장의 이러한 유형, 당신이 정말로에만 말할 수 :

는 "XHR 요청이 XHR 요청이 완료하기 위해 싸이프레스가보고하는 400ms 이내에되지 않은 (또는 당신이 할 수있는 시간 제한을 설정 무엇이든)"

이것은 이 아니며 실제로은 XHR 요청이 이 아니며으로 전화 한 사실을 확인합니다.

그렇다면 Cypress는 문서화되지 않은 cy.state('requests')을 사용하여 만든 모든 XHR 요청을 검색하는 방법을 제공합니다. 그 길이를 확인하고 별칭 등으로 필터링하여 원하는 것을 결정할 수 있습니다.