찾다

 >  Q&A  >  본문

window.clearInterval 함수를 모니터링하는 cy.spy

<p>제가 개발 중인 애플리케이션에서는 setInterval과clearInterval을 사용합니다. ClearInterval 메소드를 모니터링하여 호출되는지 확인하고 싶습니다. 제가 실제로 하고 있는 일은 다음과 같습니다. </p> <pre class="brush:php;toolbar:false;">beforeEach(() => { cy.clock(새 날짜()) }) it('테스트 시나리오' => { const fn = cy.spy(document.defaultView, 'clearInterval') //fn = cy.spy(window, 'clearInterval')도 시도했습니다. ... ... ... //'then' 섹션에 들어갈 때 ClearInterval 함수가 호출되지만 스텁에서는 아직 호출되지 않았다고 보고합니다. cy.tick(30000).then(() => { 기대(fn).to.have.been.calledOnce }) }) afterEach(() => { cy.clock().invoke('복원') })</pre> <p>위 코드 조각의 예상 어설션이 실패했습니다. 저는 그것이 통과할 것으로 예상합니다. 스파이 초기화에 대한 내 논리가 유효합니까|올바른가요? 위 문제에 대한 도움을 주시면 대단히 감사하겠습니다. </p>
P粉023326773P粉023326773461일 전461

모든 응답(1)나는 대답할 것이다

  • P粉745412116

    P粉7454121162023-08-18 10:40:22

    Cypress는 테스트와 애플리케이션에서 다양한 windowcy.spy(window...使用的是测试窗口,但要对应用程序窗口进行监视,您需要使用cy.window()명령을 사용합니다.

    으아악

    하지만 애플리케이션의 시간 제한 기능을 제어할 수 있도록 cy.clock()clearInterval()가 프록시에 배치되어 모니터링하지 못할 수도 있기 때문에 또 다른 복잡함이 있을 수 있습니다.

    그래도 제대로 작동하지 않는 경우 cy.clock() 반환 값을 받아 통화 정보가 첨부되어 있는지 확인하시기 바랍니다.

    으아악

    또는 clearInterval프록시되지 않도록 지정

    으아악

    회신하다
    0
  • 취소회신하다