测试执行过程管理工具,简化开发者的配置,可以启动一个或多个浏览器进行测试并生成测试报告。

安装

  1. npm init -y
  2. npm install --save-dev webpack webpack-cli
  3. # 必要条件
  4. npm install --save-dev karma mocha chai karma-mocha karma-chai karma-chrome-launcher karma-webpack
  5. #npm install --save-dev karma mocha chai karma-mocha karma-chai karma-chrome-launcher karma-webpack karma-sourcemap-loader karma-spec-reporter
  6. karma-mocha 由于我们使用 Mocha 作为测试框架,需要安装 Mocha Karma 中的适配器。
  7. karma-chai 由于我们使用 chai 作为断言,需要安装 chai Karma 中的适配器。
  8. karma-chrome-launcher 由于我们使用 Chrome 作为测试运行的浏览器,需要安装对应的插件。
  9. karma-sourcemap-loader 该工具用来加载对应 js 文件的 sourcemap
  10. karma-spec-reporter 使用 SPEC 作为测试报告输出工具。
  11. 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"
]