主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情! |
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作 |
这次,我将为你介绍摩卡和茶的用法。摩卡和柴的使用注意事项是什么?以下为实战案例。让我们来看看。
摩卡简介摩卡是流行的JavaScript测试框架之一,通过它可以添加和运行测试,从而确保代码质量。
摩卡的安装和配置摩卡的全球安装
摩卡也安装在npm install -g摩卡项目中。
Npm install --save-dev mocha将以下脚本添加到package.json:
“脚本“:{“测试“:“摩卡“}使用摩卡在使用它之前,我们先来看看我们使用的测试项目的结构:
如上图所示,测试文件需要放在测试目录中,mocka运行时将执行测试目录中的所有js文件(仅在test以下级别执行,而不是在test/subtest级别)。
其中index.js是我们测试的代码:
/* * *加法函数* @ param { first number } a* @ param { second number } b */functionaddnum(a,b){ return a+b;} module.exports = addNum并且index.test.js是我们的测试代码(注意这里的名称中添加了一个test,这不是必需的,只是为了区分哪些测试文件):
VaraddNum = require(‘../src/index’)describe(‘test index . js’,function(){ describe(‘test addNum function’,function(){ it(‘两个数之和’,function(){ if(addNum(1,2))。= = 3){ throw new Error(“两个数相加的结果不是两个数之和”);} });});});分析上面代码的语法:
在上面的示例中,测试了addNum函数,如果运行不正确,将引发异常。
此时运行
Npm测试可以得到以下结果
为了查看运行错误的结果,此时我们将index.js的代码修改如下:
函数addNum(a,b){ return a+B-1;} module.exports = addNum再次运行
npm测试的结果如下:
Mocha和断言库chai在上面的Mocha示例中,测试失败是通过抛出异常来处理的,这有点麻烦,因此出现了断言库。这里我们介绍一个常用的断言库chai。可以简单理解为这是对我们上面抛出异常的方法的封装,判断失败时会抛出异常。首先安装chai:
Npm install --save-dev chai然后让我们使用chai修改上面的index.test.js:
var expect = require(‘chai‘)。期待;VaraddNum = require(‘../src/index’)describe(‘test index . js’,function(){ describe(‘test addnum function’,function(){ it(‘两个数之和’,function(){ expect(addnum(1,2)});});});上述语法非常接近自然语言。期望表达式的结果等于表达式。奔跑
Npm测试得到以下结果:
可以看到,图中的断言库还打印出了预期结果3和实际结果2。如果使用判断来抛出异常,情况会复杂得多。
上面的语法是柴的期望语法,还有应该语法和资产语法。如果你用过java和。NET之前,您可能更适应资产:
var assert = require(‘chai‘)。断言;assert . type of(foo,‘string‘);assert . equal(foo,‘bar‘);assert . length of(foo,3)assert . property(tea,‘flavors‘);assert . length of(tea . flavors,3);这个的语法意义是显而易见的,所以我不会在这里重复。
更多使用摩卡如果您想测试单个测试js,您可以使用:
摩卡测试/index.test.js或多个js。
mocha test/index . test . jstest/add . test . js当然,您也可以使用通配符来测试文件夹中的所有js和jsx:
摩卡测试/部分/*。@(JS | JSX)“摩卡和ES6”我们不使用上面ES6的语法,所以让我们将所有代码更改为ES6的语法。其中index.js为:
/* * *加法函数* @ param { first number } a* @ param { second number } b */export default(a,b)=》{ return a+B-1;}而index.test.js是:
从“chai”导入{assert}从“import addNum”../src/index‘describe(‘test index . js‘,()=》{ describe(‘test addnum function‘,()=》{ it(‘两个数相加的结果是两个数之和‘,()=》{ assert。equal(addnum(1,2,3)} })此时肯定不可能直接运行mock。现在我们需要安装babel:
NPM安装babel -核心babel -preset -es 2015--Save -Dev然后在项目目录下创建一个新的。babelrc文件:
{“presets“:【“es 2015“】}然后package.json中的脚本更改为:
“scripts“:{“test“:“mocha --编译器js:babel -core/register“},其中--编译器参数用于指定测试脚本的代码转换器。该命令意味着使用babel -核心/寄存器模块来处理。js文件。
注意:未来将删除--编译器。从官方角度来说,它是多余的,作为一种替代方案,它确实是多余的
“scripts“:{“test“:“mocha --require babel -core/register“},命令变得更简单。
Mocha测试用例执行超时和高亮显示Mocha默认每个测试用例最多执行2000毫秒,如果到那时还没有获得结果,将会报告错误。以下命令将超时设置为5000:
摩卡-t 5000 index . test . js摩卡将默认突出显示超过75ms的测试用例。以下命令设置高亮显示判断的临界值:
Mocha -s 1000 index.test.jsMocha测试挂钩Mocha在describe块中提供了测试用例的四个挂钩:before()、after()、beforeEach()和afterEach()。它们将在指定的时间执行。
describe(‘test index . js’,()=》{ before(()=》console . info(()=》此块中所有测试用例之前)after()before each(()=》console . info())after each(()=》console .
我相信你看完这个案例后已经掌握了方法。更多精彩请关注主机参考其他相关文章!
推荐阅读:
Vue指令的使用
JS闭包的使用
以上是摩卡和柴的使用细节。更多资讯请关注主机参考其他相关文章!
评论前必须登录!
注册