51Testing软件测试论坛

标题: Day2-5测试积点任务 [打印本页]

作者: 测试积点老人    时间: 2018-6-22 11:59
标题: Day2-5测试积点任务
问题:
should.js做测试驱动,对抛出异常的测试用例无法识别
在学习测试驱动开发编写测试用例,但是由于should.js的库的改变,以前的写法已经无法
通过了,后来查看了should.js的官网api,意思好像是这里应该用assert.js来些测试用例。


源代码里
  1. <div><font face="微软雅黑" size="3">
  2. </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">
  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">
  4. </font></div><div><font face="微软雅黑" size="3">});</font></div><div><font face="微软雅黑" size="3">后来在assert.js的官网上看到这样的写法</font></div><div><font face="微软雅黑" size="3">
  5. </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">
  6. </font></div><div><font face="微软雅黑" size="3">it('should throw when n > 10', function () {</font></div><div><font face="微软雅黑" size="3">
  7. </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