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.js3.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>
但是依然无效,应该怎么写这个测试用例呢?
你可以看下should.js和assert.js的api,找下差异 原因是js捕获异常时无法捕获该方法中调用的其他方法的异常,只对该方法范围内的才能捕获。 只能说重新进行查询修改了
你可以看下should.js和assert.js的api,找下差异
页:
[1]