====== Test Unit ====== ===== webpack + karma + jasmine ===== [[https://github.com/devrafalko/webpack-karma-jasmine|devrafalko / webpack-karma-jasmine]] 제안하는 package: * ES2015의 자바스크립트를 컴파일하기 위한, **specs**와 **tests**를 ''.js''로 묶기 위한 ''karma-webpack'' and ''babel-loader'' * **bash**보고서를 위한 ''karma-mocha-reporter'' * **browser**보고서를 위한 ''karma-jasmine-html-reporter'' 예제를 위한 전체설명입니다. ==== 1.모든 의존 패키지 설치 ==== npm install --save-dev webpack webpack-cli webpack-karma-jasmine npm install --save-dev @babel/cli @babel/core @babel/preset-env babel-loader npm install --save-dev jasmine-core karma karma-chrome-launcher npm install --save-dev karma-jasmine karma-jasmine-html-reporter karma-mocha-reporter karma-webpack // 여기는 Tama가 추가 // TypeScript를 이용한다면 추가적으로 npm install --save-dev @types/jasmine ts-loader typescript ** 기타 로더들 ** * babel-loader * css-loader * style-loader * ts-loader ==== 2.karma.conf.js파일 생성 ==== ''karma.conf.js''의 추천설정 module.exports = function(config) { config.set({ //root path location to resolve paths defined in files and exclude basePath: '', //files/patterns to exclude from loaded files exclude: [], //files/patterns to load in the browser files: [ {pattern: 'tests/*.js',watched:true,served:true,included:true} /*parameters: watched: if autoWatch is true all files that have watched set to true will be watched for changes served: should the files be served by Karma's webserver? included: should the files be included in the browser using