꽤 오래 인턴과 싸워 왔고 서버 코드 (these recommendations)와 클라이언트 코드를 테스트했습니다. (tradionnal app, 예 : this project of mine에 정의 된대로).Intern client.js는 설정 파일의 패키지 정의를 사용하지 않으므로 dojo/_base/declare를 해결할 수 없습니다.
인턴 설정 파일에는 다음이 포함
loader: {
packages: [
{ name: 'dojo', location: './libs/dojo' },
{ name: 'server', location: './server' }
]
},
그러나, 도장 패키지의 위치는 항상 무시됩니다. 보고 된 오류는 다음과 같습니다 I 출력을 단순화 < 루트 > 부분에 대한 편집 됨
$ node node_modules/intern/client.js config=intern suites=server/model/tests/News
Defaulting to "console" reporter
Error: Failed to load module dojo/_base/declare from <root>/dojo/_base/declare.js (parent: server/model/Ne
ws)
at <root>\node_modules\intern\node_modules\dojo\dojo.js:742:12
at fs.js:207:20
at Object.oncomplete (fs.js:107:15)
.
<root>
|- client
|- libs
| |- dojo
| |- ...
|- node_modules
| |- grunt
| |- intern
| |- ...
|- server
|- dao
| |- tests
|- model
| |- tests
|- ...
어디에서 잘못 이니
내 현재의 폴더 구조는 ...
나의 현재 해결 방법은 < 루트 > 수준에서 도장 폴더를 복사하는 것입니다하지만 불편?
업데이트 : 내가 읽는 곳 (예 : here)은 확장명이없는 파일 이름이 아닌 MID로 지정됩니다. "config = intern.js"으로 명령을 실행하면 구성이 올바르게 처리됩니다 (설정 내용을 기록하기 위해 "client.js"를 해킹했습니다). 참고 : Windows 컴퓨터에서 Node.js/Intern을 실행하고 있습니다 ...
추가 정보 : 다음은 테스트를 처리하는 데 필요한 최소 컨텐츠입니다.
define({
loader: {
packages: [
{ name: 'dojo', location: './libs/dojo' },
{ name: 'server', location: './server' }
]
},
suites: [ 'server/allTests' ]
});
전체 구성 파일과 함께 사용중인 Intern 버전을 제공 할 수 있습니까? 당신이 묘사하고있는 것은 기본값 인 것처럼 많은 의미를 갖지 않습니다. –
인턴 1.4를 사용하고 npm으로 조사했습니다. intern.js의 최소값은 위 질문의 일부로 표시됩니다. 명령 행 : **./node_modules/intern/bin/intern-client.js config = intern.js **. 구성 파일 확장자가 없으면 myTest 시리즈는 무시됩니다. 30 개의 테스트가 올바르게 처리됩니다. –