测试执行过程管理工具,简化开发者的配置,可以启动一个或多个浏览器进行测试并生成测试报告。
安装
npm init -ynpm install --save-dev webpack webpack-cli# 必要条件npm install --save-dev karma mocha chai karma-mocha karma-chai karma-chrome-launcher karma-webpack#npm install --save-dev karma mocha chai karma-mocha karma-chai karma-chrome-launcher karma-webpack karma-sourcemap-loader karma-spec-reporterkarma-mocha 由于我们使用 Mocha 作为测试框架,需要安装 Mocha 在 Karma 中的适配器。karma-chai 由于我们使用 chai 作为断言,需要安装 chai 在 Karma 中的适配器。karma-chrome-launcher 由于我们使用 Chrome 作为测试运行的浏览器,需要安装对应的插件。karma-sourcemap-loader 该工具用来加载对应 js 文件的 sourcemap。karma-spec-reporter 使用 SPEC 作为测试报告输出工具。karma-webpack 使用 Karma 运行之前需要预先使用 Webpack 对文件进行编译
生成配置文件
karma init
testing framework > mocha
use Require.js > no
capture and browsers > chrome
location of your source and test files >
excluded files >
watch all files andr run the tests on change > yes
模拟单元测试
// test/hello.js
describe("a spec suite", function () {
it("conatins a passing spec", function () {
console.log("hello karma")
})
})
运行
# 控制台会输出 hello karma
karma start
单元测试
- 编写待测代码 ```javascript // src/hello.js let div = document.createElement(“div”) div.innerHTML = “hello world”
document.body.appendChild(div)
- 把待测文件加入到 karma.conf.js 中
```javascript
files: [
"src/*.js"
]
