>

테스트 코드를 작성하는 동안 때때로 매우 높은 오류가 발생합니다.-오류 : 시간 초과-jasmine.DEFAULT_TIMEOUT_INTERVAL에 지정된 시간 초과 내에 비동기 콜백이 호출되지 않았습니다. 이 오류를 해결하기 위해 노력한 후시간 간격 값 늘리기, 코드 블록 끝에서 done () func 등과 같은 몇 가지 해결책을 찾았습니다. 그러나 아무것도 나를 위해 작동하지 않습니다.

정확한 이유를 알기 위해이 오류가 언제 발생하는지 알고 싶습니다.

  • 답변 # 1

    async/await 를 다룰 때 매우 일반적인 메시지입니다 . 80 %처럼 그것은 당신이 await 를 잊었다는 것을 의미합니다  어딘가에 다른 진술을하고 다른 20은 테스트에서 심층 분석이 필요한 실수입니다. 다음 팁을 사용하여 디버깅 프로세스를 개선 할 수 있습니다

    1) 오류에 대한 자세한 정보를 표시하십시오-각도기 conf 파일에 넣으십시오.

    process.on('unhandledRejection', ({ message }) => {
      console.log('\x1b[36m%s\x1b[0m', `Unhandled rejection: ${message}`);
    });
    
    

    2) "protractor-console"플러그인을 설치하여 브라우저 콘솔에 오류/거부 사항이 없는지 확인하십시오 (예 : 앱 측에서 문제 가능성 제외). 설정에 추가하십시오.

    plugins: [{
        package: "protractor-console",
        logLevels: [ "severe" ]
    }]
    
    

    3) 공식 가이드에 표시된대로 Chrome으로 테스트를 디버그하십시오

    4) HtmlScreenshotReporter 사용-이 보고서는 체계적이고 직관적 인 보고서를 만듭니다.

    이들은 문제를 발견하는 데 도움이되는 도구입니다. 나는 모든 Async callback was not invoked within timeout specified by jasmine 를 제거  내가 가진 모든 특정 테스트를 디버깅하는 데 시간을 보낸 경우에만 알림. 이것은 코드를 검토하지 않고 제공 할 수있는 유일한 권장 사항입니다.

  • 이전 안드로이드에서 딥 링크를 사용하여 앱을 열고 인수를 가져 오는 방법은 무엇입니까?
  • 다음 image - CircleAvatar에 자산의 이미지를 제공하는 방법