推广 热搜: 劳务  2024  海南  合同  云南  江苏  劳务系统  2023  劳务派遣管理软件  劳务派遣管理系统 

Qunit前端单元测试(三)

   2024-06-12 80
核心提示:p3.2.2断言断言是单元测试必不可少的部分,单元测试实质就是验证实际运行结果是否与期待的结果一致。QUnit提供三个断言。ok(trut
<p>3.2.2断言断言是单元测试必不可少的部分,单元测试实质就是验证实际运行结果是否与期待的结果一致。QUnit提供三个断言。ok(truthy[,message])ok()是最基本的断言,只有一个参数是必须的,如果这个参数是真值(true或能转换成true),断言就会通过,否则就会失败,还可提供一个测试结果字符串,例如测试:这个测试中的6个断言都会失败;每个断言判断一个假值(false或能转换成false)是否为true,当然会失败,对每个假值做逆运算可以使断言通过。equal(actual,expected[,message])equal()断言用等号(==)判断actual和expected参数是否相等,如果相等,断言通过,否则断言失败,失败时实际值和期望值以及测试结果信息都会出现在测试结果中;前面两个断言会失败,后面两个断言会成功。由于equal()断言在失败时,会显示实际值和期望值,因此,与ok()断言相比,equal()断言更方便调试。如果需要全等(===),使用strictEqual()代替。deepEqual(actual,expected[,message])deepEqual()断言的用法和equal()断言相同,但是使用deepEqual()断言是更好的选择,因为deepEqual()用的是全等操作符(===),而不是使用等号(==)进行相等性判断,拥有全等操作符带来的好处。deepEqual还会进行深比较,向内迭代比较属性直至该属性不再是对象类型为止。equal()主要应用在两个值的不严格的比较上。因此通常情况下,使用的是deepEqual()。3.2.3同步回调会存在这样一种情况,如果同步回调中的断言没有执行,测试应该失败。QUnit提供了一种特殊的断言来声明一个测试中有多个断言。当测试执行完成了,只要断言的数目不正确,测试就会失败,而不管断言的结果如何。要实现这个目的只要在test的开始调用expect()就好,参数是期望执行的断言数目。还有一种使用方式就是把期望执行的参数做为test()方法的第二个参数。3.2.4异步回调在同步回调中expect()很有效,但是在异步回调中就显得无能为力。异步回调与测试工具(这里指的是QUnit)排列和执行测试的方式有冲突。当一个测试中的代码使用的setTimeout()或者setInterval()或者使用ajax发送一个请求时,测试工具会继续执行该测试的剩余部分,连同该测试后的其他测试,而不是等待异步操作的结果。针对异步测试回调,QUnit提供了asyncTest()方法来代替test()方法,并且在测试完成和准备继续时调用start()方法。同样也可以把期望执行的参数做为asyncTest()方法的第二个参数。未完待续www.起航劳务派遣系统.com免费劳务派遣系统软件系统提供</p>
 
反对 0举报 0 收藏 0 打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  粤ICP备18079127号  |  粤ICP备18079127号