NIUCLOUD是一款SaaS管理后台框架多应用插件+云编译。上千名开发者、服务商正在积极拥抱开发者生态。欢迎开发者们免费入驻。一起助力发展! 广告
[TOC] # 相关教程 [主要教程https://www.jianshu.com/p/58fdc1a3295c](https://www.jianshu.com/p/58fdc1a3295c) [# Nodejs 测试框架Mocha的简单介绍](https://www.jianshu.com/p/2e62d025c5b2) # 测试的包 jasmine 用来运行测试文件 karma 提供模拟一个 webServer, 并集成其它测试工具 mocha 提供了测试的函数 describe it chai 提供一个断言,判断是否测试通过 # karma 自动化测试 [教程https://www.jianshu.com/p/f4e9132dca97](https://www.jianshu.com/p/f4e9132dca97) [官网](https://karma-runner.github.io/1.0/intro/installation.html) [仓库](https://github.com/karma-runner/karma) ## 安装karma和karma-cli - 全部 mocha chai webpack jasmine ``` npm install karma karma-cli karma-jasmine karma-chrome-launcher jasmine-core mocha karma-mocha karma-sourcemap-loade karma-webpack webpack chai --save-dev ``` ~~~bash //基础安装 npm install karma karma-cli --save-dev //全局安装 npm install -g karma-cli //启动 karma start ~~~ ## 安装相关插件 ``` //基础包 npm install karma-jasmine karma-chrome-launcher jasmine-core --save-dev //mocha npm install mocha karma-mocha --save-dev //扩展包 webpack集成 npm i karma-sourcemap-loade karma-webpack webpack -D ``` ## 初始化配置 ``` karma init ``` ## 运行 ~~~bash karma start ~~~ ## 使用配置文件 ```bash //初始化 karma init my.conf.js //运行 karma start my.conf.js ``` ## 集成webpack ``` npm install webpack --save-dev npm install karma-webpack --save-dev ``` 然后,修改karma.conf.js, 同样修改preprocessors部分,添加webpack到 ``` preprocessors: {"test/*.js": ['babel','webpack']}, ``` ## 更多 - gulp-karma [https://github.com/karma-runner/gulp-karma](https://github.com/karma-runner/gulp-karma) ## 编写测试用例 ``` describe('A spec suite', function(){     it('contains a passing spec', function(){         console.log('Hello Karma');     }) }); ``` ```bash karma start   # 【运行karma】 karma run     #【命令行运行测试用例】 karma run -- --grep 'A spec suite'    #【运行特定测试用例】 ``` 在test文件夹下建hello.js,test文件夹即为karma init执行配置的代码存放目录。 运行特定测试用例:karma run -- --grep 'A spec suite',第一个‘--’表示后面的选项--grep 'A spec suite'是传递给测试框架的选项,这里指mocha。 # mocha [https://mochajs.cn/](https://mochajs.cn/) - 提供了用于测试的函数, 可以通过karma的插件进行使用 教程[https://www.jianshu.com/p/2e62d025c5b2](https://www.jianshu.com/p/2e62d025c5b2) # chai - 断言风格, 可以用在mocha上面 https://www.chaijs.com/ ``` import { expect } from'chai' ``` or ``` const chai = require('chai'); var expect = chai.expect; expect(foo).to.be.a('string'); ``` ## 常用函数 ``` import { expect } from'chai' expect ```