【问题标题】:Jasmine javaScript exceptionJasmine JavaScript 异常
【发布时间】:2016-04-06 15:04:15
【问题描述】:

我在 Jasmine 中为算术运算创建了简单的测试用例,其中它给出了错误预期的函数会引发异常。虽然我已经这样做了。

规范文件

describe("Arithmetic Operation",function(){
    it("adds 2 numbers i.e. 5,5",function(){
        expect(doAddition(5,5)).toEqual(10);
    });

    it("throws an error while adding", function () {   
        expect(function () {doAddition(1,2)}).toThrow(new Error("Not allowed."));
    });
});

src 文件

function doAddition(a,b){
  return parseInt(a) + parseInt(b);
}

如果我删除异常代码,它工作正常。有什么建议或想法有什么问题吗?

【问题讨论】:

  • 您使用的是什么版本的 Jasmine?在 Jasmine 的最新版本中,toThrow 不接受参数。请改用toThrowError
  • 这是 jasmine-1.3.1。其他异常与 toThrow 一起工作正常。
  • 在这种情况下,doAddition(1,2) 根本不会抛出......你的测试有缺陷。

标签: javascript exception testing jasmine


【解决方案1】:

您希望doAddition(1,2) 抛出,但它没有。因此测试失败。

【讨论】:

  • 5,5 的情况下,它也会抛出相同的错误,这是来自 jasmine new jasmine.ExpectationResult 异常,而不是自定义错误消息。
  • parseInt(5) + parseInt(5) 不抛出。它返回10...您的第一个测试验证了这一点。
猜你喜欢
  • 2014-05-06
  • 2019-11-18
  • 1970-01-01
  • 2011-11-20
  • 1970-01-01
  • 2014-12-07
  • 2016-06-16
  • 2013-09-20
  • 2012-08-19
相关资源
最近更新 更多