51Testing软件测试论坛
标题:
Day2-5测试积点任务
[打印本页]
作者:
测试积点老人
时间:
2018-6-22 11:59
标题:
Day2-5测试积点任务
问题:
should.js做测试驱动,对抛出异常的测试用例无法识别
在学习测试驱动开发编写测试用例,但是由于should.js的库的改变,以前的写法已经无法
通过了,后来查看了should.js的官网api,意思好像是这里应该用assert.js来些测试用例。
源代码里
<div><font face="微软雅黑" size="3">
</font></div><div><font face="微软雅黑" size="3">if(n > 10){</font></div><div><font face="微软雅黑" size="3"> throw new Error('n should <= 10');</font></div><div><font face="微软雅黑" size="3">}</font></div><div><font face="微软雅黑" size="3">测试代码里</font></div><div><font face="微软雅黑" size="3">
</font></div><div><font face="微软雅黑" size="3">it('should throw when n > 10', function () {</font></div><div><font face="微软雅黑" size="3"> (function () {</font></div><div><font face="微软雅黑" size="3"> main.fibonacci(11);</font></div><div><font face="微软雅黑" size="3"> }).should.throws('n should <= 10');</font></div><div><font face="微软雅黑" size="3"> //should.js 3.x 现在用不了了</font></div><div><font face="微软雅黑" size="3">
</font></div><div><font face="微软雅黑" size="3">});</font></div><div><font face="微软雅黑" size="3">后来在assert.js的官网上看到这样的写法</font></div><div><font face="微软雅黑" size="3">
</font></div><div><font face="微软雅黑" size="3">assert.throws(</font></div><div><font face="微软雅黑" size="3"> function() {</font></div><div><font face="微软雅黑" size="3"> throw new Error("Wrong value");</font></div><div><font face="微软雅黑" size="3"> },</font></div><div><font face="微软雅黑" size="3"> Error</font></div><div><font face="微软雅黑" size="3">);</font></div><div><font face="微软雅黑" size="3">于是就改成这样</font></div><div><font face="微软雅黑" size="3">
</font></div><div><font face="微软雅黑" size="3">it('should throw when n > 10', function () {</font></div><div><font face="微软雅黑" size="3">
</font></div><div><font face="微软雅黑" size="3"> assert.throws(</font></div><div><font face="微软雅黑" size="3"> function () {</font></div><div><font face="微软雅黑" size="3"> throw new Error('n should <= 10');</font></div><div><font face="微软雅黑" size="3"> },</font></div><div><font face="微软雅黑" size="3"> main.fibonacci(11)</font></div><div><font face="微软雅黑" size="3"> );</font></div><div><font face="微软雅黑" size="3">});</font></div>
复制代码
但是依然无效,应该怎么写这个测试用例呢?
作者:
qqq911
时间:
2018-6-26 10:50
你可以看下should.js和assert.js的api,找下差异
作者:
海海豚
时间:
2018-6-26 10:59
原因是js捕获异常时无法捕获该方法中调用的其他方法的异常,只对该方法范围内的才能捕获。
作者:
jingzizx
时间:
2018-6-26 13:07
只能说重新进行查询修改了
作者:
梦想家
时间:
2018-6-26 13:15
你可以看下should.js和assert.js的api,找下差异
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2