제 질문은 모카를 사용하여 자바 스크립트 코드를 테스트하는 방법입니다. 궁극적으로 이것은 의존성 주입이나 Inversion of Control에 관한 질문 일 수 있습니다. 나는 이러한 개념을 잘 이해하지 못했습니다.Modernizr을 사용하는 단위 테스트 코드
단순히 header.js 인스턴스를 만들고 테스트하는 테스트를 작성하려고합니다. 그러나 다음과 같은 오류 메시지와 함께 Modernizr을로드 할 때 내 테스트가 불면 언제든지 그렇게합니다. Modernizr은 브라우저 내부에서 실행되기 때문에 발생하지만 내 단위 테스트는 명령 줄에서 실행해야합니다.
/lib/modernizr.js:8
는 "MozAppearance는"l.style에서, S = 선택된 & & r에! b.createRange() compareNode, t의가 S L :.? n.parentNod ^ 오류 : 속성을 읽을 수없는 '인 parentNode' 의 정의되지 않은 /Users/devadmin/devenv/djscript/djscript-vendor/lib/modernizr.js:8:6291
에서 나는 다음과 같은 계층 구조의 일부 requirejs 모듈이 :
lib
└── pj
├── module
│ └── header
│ └── header.js
├── util
│ └── header
│ └── Util.js
└── widget
└── header
├── Header.js
└── view
├── HeaderView.js
└── NavView.js
header.js는 Header.js를 인스턴스화하고 Header.js는 HeaderView 및 NavView를 만듭니다. HeaderView 만 Modernizr이 필요합니다.
이 코드를 어떻게 테스트 가능한 상태로 만들 수 있는지에 대한 힌트가 있습니까? Modernizr을 requirejs와 함께 사용하여 패키지 한 것을 보는 것이 도움이 될까요?
이 도움이 될 것 같습니다. 내 테스트는 큰 혼란이었고,이 질문을 완전히 풀어 낼 수도있었습니다. – the0ther