1. karma.conf.js配置文件
module.exports = function(config){
config.set({
//基礎路徑:表示karma從哪個位置開始找文件
basePath:'',
//測試環境
browsers:true,
//框架 jasmine mocha都可以
framework:['jasmine'],
//測試的入口文件
files:['./index.js'],
//排除文件,可以是正則
exclude:[],
//對指定文件的預處理
preprocessors:{
'./index.js': ['webpack', 'sourcemap'],
},
//結果報表
reporters:[''],
//colors 報表中是否有顏色區分
colors:true,
//port 服務器端口
port:8080,
// 輸出的日誌級別
// possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
logLevel: config.LOG_INFO,
// 文件變化是否自動刷新
autoWatch: true,
//是否依附瀏覽器運行
singleRun:false,
//併發數,同時支持多少個瀏覽器運行
concurrency:Infinity,
//webpack配置
webpack:webpackConfig,
//代碼覆蓋率配置節點
coverageReporter:{
dir:'./coverage',
reporters:[
{type:'lcov',subdir:'.'},
{type:'text-summary'}
]
}
})
}
2.測試代碼 *.spec.js
import {init} from '../../src/ma'
import data from '../mocks/demo'
describe('demo.spec', function(){
it('body',() => {
init();
let button = document.querySelector('.btn');
button.textContent = data.btnName;
expect(button.textContent).toEqual(data.btnName);
})
});
參考資料: