mocha测试

mocha测试
1/ 全局安装mocha环境 npm install --global mocha
package.json的基本配置{ "name": "mocha-demos", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [ "testing", "Mocha" ], "author": "", "license": "MIT", "devDependencies": { "babel-core": "~6.2.1", "babel-preset-es2015": "~6.1.18", "chai": "~3.4.1", "mocha": "~2.3.4", "mochawesome": "~1.2.1" }, "dependencies": { "node-fetch": "~1.3.3", "superagent": "~1.4.0" } }
安装依赖 npm i
测试单元的编写-测试单元函数模块暴露 module.exports 文件名eg:index.js
测试脚本的编写--文件名字 eg:index.test.js
测试脚本--接收require要测试的单元,引入断言库chai依赖的expect断言风格
describe块称为"测试套件"(test suite),表示一组相关的测试。它是一个函数,第一个参数是测试套件的名称("加法函数的测试"),第二个参数是一个实际执行的函数。
it块称为"测试用例"(test case),表示一个单独的测试,是测试的最小单位。它也是一个函数,第一个参数是测试用例的名称("1 加 1 应该等于 2"),第二个参数是一个实际执行的函数。
头部是expect方法,尾部是断言方法,比如equal、a/an、ok、match等。两者之间使用to或to.be连接。
断言,就是判断源码的实际执行结果与预期结果是否一致,如果不一致就抛出一个错误

测试 mocha index.test.js 可以同时测试多个案例
通常情况下将所有 测试文件放在test文件夹下,输入mocha可以进行所有并列测试文件的执行
如果 test文件夹下有另外的文件夹 需要执行测试文件 输入mocha --recursive 这样不论test下多少文件,都可以被执行
通配符mocha test/{a,b}.js 执行测试test下的a,b文件
通配符mocha typ/a/*.js 执行测试test下的a文件下的所有测试文件
展示效果
mocha --reporter 默认spec 还可以设置为 tap/dot/nyan/landing/list/progress/JSON/JSON stream/min/doc等
使用模版
npm install --save-dev mochawesome 
mac 专用 ../node_modules/.bin/mocha --reporter mochawesome
生成mochaawesome-reports目录 查看html文件即可
tips:windows下需要安装全局环境 npm i -g mochawesome --save-dev 然后在相应文件夹下 执行 mocha --reporter mochawesome
监听测试: mocha --watch/mocha -w
--bail, -b 指定只要有一个测试用例没有通过,就停止执行后面的测试用例
--grep, -g用于搜索测试用例的名称(即it块的第一个参数),然后只执行匹配的测试用例。
--invert, -i表示只运行不符合条件的测试脚本,必须与--grep参数配合使用。eg:mocha --grep "1+1是等于2" --invert
配置 在test目录下新建mocha.opts文件 写入--reporter tap --recursive 配置 执行mocha 即可运行以上指令
es6
如果测试脚本使用的是es6语法编写的 按以下步骤操作

第一步 安装Babel依赖 npm install babel-core babel-preset-es2015 --save-dev
第二步 在项目目录下面,新建一个.babelrc配置文件。写入配置 {"presets": [ "es2015" ]}
第三步 使用--compilers参数指定测试脚本的转码器;测试 ../node_modules/mocha/bin/mocha --compilers js:babel-core/register
上面代码表示,运行测试之前,先用babel-core/register

原文地址:https://www.cnblogs.com/hrr666/p/10568819.html

时间: 2024-10-31 13:20:33

mocha测试的相关文章

使用mocha测试

学习了MOCHA官网的示例,将学习成果记录一下.[原文+例子:使用mocha测试] mocha是什么 Mocha是一个跑在node和浏览器上的javascript测试框架,让异步测试变得简单有趣, 并提供灵活精确的报告. 安装 使用npm全局安装 $ npm install --global mocha 作为项目开发依赖安装 $ npm install --save-dev mocha 开始 创建测试文件learn-mocha $ npm install mocha -g // 全局安装moch

Nodejs Mocha测试学习

参考大神阮一峰的文章<测试框架 Mocha 实例教程> 目前在使用Nodejs,但写完的程序很容易出错,那怎么办?需要引入单元测试去做基础的测试 目前Nodejs用来做单元测试的工具接触的不多,现在只接触到Mocha,它是用来做单元测试的最好的工具之一. 关于Mocha的基础教程,可以看一下阮一峰老师的博客:测试框架 Mocha 实例教程 =>基本概念: describe():测试区块,一个测试区块应该包含一个或多个测试区块,测试区块也是可以多层嵌套的 it():测试用例,一个测试区块中

测试框架Mocha与断言expect

测试框架Mocha与断言expect在浏览器和Node环境都可以使用除了Mocha以外,类似的测试框架还有Jasmine.Karma.Tape等,也很值得学习. 整个项目源代码: 为什么学习测试代码?1. react的开发不适合网页端的调试和测试2. 把关所写代码质量,防止bug和漏洞 要测试的文件add.js测试文件命名为:add.test.js或者add.spec.js 测试脚本可以独立运行.测试脚本里包含一个或多个describe块,每个describe块应该包括一个或多个it块 add.

测试框架mochajs详解

测试框架mochajs详解 章节目录 关于单元测试的想法 mocha单元测试框架简介 安装mocha 一个简单的例子 mocha支持的断言模块 同步代码测试 异步代码测试 promise代码测试 不建议使用箭头函数 钩子函数 钩子函数的描述参数 异步的钩子函数 全局钩子 延迟启动测试 测试用例TODO 仅执行一个用例集/用例 跳过哪些用例集/用例 重新执行用例 动态生成用例 测试时间 测试超时 用例集执行超时 用例执行超时 钩子函数超时 diff差异比较功能 mocha使用命令和参数 mocha

前端单元测试框架-Mocha

引言 随着前端工程化这一概念的产生,项目开发中前端的代码量可谓是'急剧上升',所以在这种情况下,我们如何才能保证代码的质量呢,对于框架,比如React.Vue,因为有自己的语法规则,及时每个开发人员的编码风格规范各不相同,但最终的产出都大同小异,代码质量差距不是很大:但对于一些基础类库或方法的开发,我们就要谨慎又谨慎,代码质量一定要高,尽量避免出现Bug. 那我们如何做到产出高质量代码呢?单元测试才是正解,俗话说'跳过单元测试和不仔细过冒烟就交由QA测试的,就是在耍流氓'(这句话是我自己编的):

Nodejs开源项目里怎么样写测试、CI和代码测试覆盖率

测试 目前主流的就bdd和tdd,自己查一下差异 推荐 mocha和tape 另外Jasmine也挺有名,angularjs用它,不过挺麻烦的,还有一个选择是qunit,最初是为jquery测试写的,在nodejs里用还是觉得怪怪的. 如果想简单可以tap,它和tape很像,下文会有详细说明 mocha mocha是tj写的 https://github.com/mochajs/mocha var assert = require("assert") describe('truth',

e2e 自动化集成测试 架构 京东 商品搜索 实例 WebStorm Node.js Mocha WebDriverIO Selenium Step by step 一

大前有发布一篇文章“e2e 自动化集成测试 环境搭建 Node.js Selenium WebDriverIO Mocha Node-Inspector”, 主要是讲了,如何搭建环境, 其中开发环境使用的是微软的Visual Studio, 使用之后, 我发现,其它并不怎么好用, 发面收费版的WebStorm对于开发Node.js其实是更为方便. 建议使用WebStorm来作为开发环境. 可以试用30天,当前你可以获得License, 方法你懂的... 前言 Node.js是开源的,基于Java

JavaScript-测试框架:Mocha

参考:http://www.ruanyifeng.com/blog/2015/12/a-mocha-tutorial-of-examples.html 一.安装环境:工欲善其事,必先利其器! 1. Node.js的安装: (1)windons环境下:下载Node.js安装包 -> 安装: 命令行窗口:node --version 检查是否安装 2. npm的安装: (1)npm install (2)0node.js包管理工具npm安装模块后,无法通过命令行执行命令,提示'xxx' 不是内部或外

前端js单元测试 使用mocha、chai、sinon,karma

karma(因果报应)  提供在浏览器上测试  可以同时跑在多个浏览器下 mocha测试框架  其他测试框架还有Jasmine chai断言库  expect = chai.expect sinon 测试替身(伪造或者模拟真实环境) 官网api    http://sinonjs.org/releases/v4.4.8/stubs/ spy间谍  spy=sinon.spy(obj,method)处理 stub  stub=sinon.stub(obj,method)替换掉那些使测试变慢和难以测