三角形 javascript 问题/单元测试不起作用(Jasmine)
Posted
技术标签:
【中文标题】三角形 javascript 问题/单元测试不起作用(Jasmine)【英文标题】:Triangle javascript problem/ Unit testing not working (Jasmine) 【发布时间】:2019-07-07 16:55:08 【问题描述】:我编写了代码来确定三角形是等边三角形、等腰三角形还是不等边三角形。接下来,我想使用 Jasmine 对其进行测试,但我的代码一直失败。我对单元测试很陌生。请帮帮我!
三角形规范:
describe('Determine if a triangle is equilateral, isolene, scalene',
function ()
it('equilateral triangles have equal sides', function ()
var triangle = new isTriangle (5, 5, 5)
expect(triangle).toEqual("Equilateral");
);
Triangle.js:
function isTriangle(side1, side2, side3)
if (side1 === 0 || side2 === 0 || side3 === 0)
console.log("Error");
else if (side1 < 0 || side2 < 0 || side3 < 0)
console.log("Error");
else if (side1 + side2 <= side3 || side1 + side3 <= side2 || side2 +
side3 <= side1)
console.log("Error");
else if (side1 == side2 && side2 == side3)
console.log("Equilateral");
else if (side1 === side2 || side2 === side3 || side1 === side3)
console.log("Isosceles");
else
console.log("Scalene");
;
isTriangle(6, 6, 5);
【问题讨论】:
【参考方案1】:有两个问题:
您的isTriangle
函数没有返回结果;它只是用console.log
输出它,但这不算作函数的返回值。所以把你所有的console.log("some result")
替换成return "some result"
该函数不是构造函数,因此不应使用new
调用它。在您的测试代码中执行:var triangle = isTriangle (5, 5, 5)
【讨论】:
别忘了mark the answer as accepted。以上是关于三角形 javascript 问题/单元测试不起作用(Jasmine)的主要内容,如果未能解决你的问题,请参考以下文章