我正在为学徒机会做一项活动,我可以与之讨论的主要工程师没有回应,所以我想我在这里问。 基本上这是一个三角形'主要目的是用茉莉花在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();
});
});
答案 0 :(得分:3)
问题是你实际上是在这里调用函数:
var triangle = Triangle(0,0,0);
相反,您应该expect()
通过提供可调用来调用它:
expect(function() { Triangle(0, 0, 0); }).toThrow();