내 백엔드 단위 테스트 (Mocha로 작성)를 실행하도록 Karma를 설정하려면 어떻게해야합니까? 백엔드 테스트 스크립트를에 추가 files = []
하면 require
정의되지 않았다는 메시지가 표시 됩니다.
답변
당신은하지 않습니다. Karma는 브라우저 기반 코드 테스트 전용입니다. 백엔드에 mocha 테스트가 있고 프런트 엔드에 karma / mocha가있는 프로젝트가있는 경우 스크립트에서 package.json을 편집하여 테스트를 다음과 같이 설정하십시오.mocha -R spec && karma run karma.con
그런 다음 npm test
true를 반환하면 커밋하거나 배포하는 것이 안전하다는 것을 알 수 있습니다.
답변
할 수없는 것 같습니다 (@dankohn에게 감사드립니다). Grunt를 사용하는 내 솔루션은 다음과 같습니다.
-
Karma : karma.conf.js 파일 업데이트
- 세트
autoWatch = false;
- 세트
singleRun = true;
- 설정
browsers = ['PhantomJS'];
(인라인 결과 포함)
- 세트
-
꿀꿀 거리는 소리:
npm install grunt-contrib-watch grunt-simple-mocha grunt-karma
- 두 개의 grunt 작업을 구성합니다 (아래 grunt 파일 참조).
Gruntfile.js :
module.exports = function (grunt) {
grunt.loadNpmTasks('grunt-simple-mocha');
grunt.loadNpmTasks('grunt-karma');
grunt.initConfig({
simplemocha: {
backend: {
src: 'test/server-tests.js'
}
},
karma: {
unit: {
configFile: 'karma.conf.js'
}
}
});
// Default task.
grunt.registerTask('default', ['simplemocha', 'karma']);
};
-
Grunt (선택 사항) : 테스트 할 사양 파일 또는 파일을 변경 한 후 실행되도록 grunt-watch를 구성합니다.
-
grunt
명령을 사용하여 모두 실행하십시오 .