====== 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