문제

HTML에 다음과 같이 선언된 변수가 있습니다.

<script>
    var actionUrl = '@Url.Action(action, "Designer")';
</script>

테스트하려는 자바스크립트 파일에서 actionUrl 변수를 호출할 수 있습니다.그러나 단위 테스트에서 테스트할 각 파일을 격리하므로 카르마에서 actionUrl이 정의되지 않습니다.이 변수를 어떻게 조롱합니까?모범 사례는 무엇입니까?

도움이 되었습니까?

해결책

  1. 제안한대로 전화로 window.actionUrl = 'whatever';
  2. 아니면 모의 객체를 위한 구조를 만드는 것이 합리적일 수도 있습니다.

unit-tests | mocks - | - module1.js ... | - moduleN.js | - globals.js

그런 다음 모든 전역 객체를 globals.js 그리고 안에 로드해 karma.config.js

편집하다:Angular Seed의 포크에 글로벌 모의를 추가했습니다. https://github.com/sbedulin/angular-js-dev-guide

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top