Jasmine toThrow()语法

时间:2016-12-25 05:10:30

标签: javascript jasmine

我正在为学徒机会做一项活动,我可以与之讨论的主要工程师没有回应,所以我想我在这里问。 基本上这是一个三角形'主要目的是用茉莉花在TDD上写作。

现在,我写了一些简单的内容,当我开始编写边缘情况时,我在抛出无效输入时遇到了麻烦。查看文档似乎很简单,但我的测试失败,invalid thrown为错误

describe('Triangle', function(){
var Triangle = function(x, y, z){
  if (x <= 0 || y <= 0 || z <= 0) {
    throw 'invalid';}
  if(x === y && y === z){
    return 'equilateral';}
  if(x === y || x === z || y === z){
  return 'isosceles';}
  else{return 'scalene';}    
};

  it('test triangles with no size are illegal', function() {
    var triangle = Triangle(0,0,0);
    expect(triangle).toThrow();
  });

});

1 个答案:

答案 0 :(得分:3)

问题是你实际上是在这里调用函数:

var triangle = Triangle(0,0,0);

相反,您应该expect()通过提供可调用来调用它:

expect(function() { Triangle(0, 0, 0); }).toThrow();