Проблема с треугольником JavaScript / Модульное тестирование не работает (Жасмин) - PullRequest
0 голосов
/ 07 июля 2019

Я написал код, чтобы определить, является ли треугольник равносторонним, равнобедренным или разносторонним.Далее, я предполагаю протестировать его с использованием Jasmine, но мой код продолжает давать сбой.Я очень новичок в модульном тестировании.Пожалуйста, помогите мне!

TriangleSpec:

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 Ответ

0 голосов
/ 07 июля 2019

Есть две проблемы:

  • Ваша isTriangle функция не , возвращающая результат; он просто выводит его с console.log, но это не считается возвращаемым значением функции. Так что замените все свои console.log("some result") на return "some result"

  • Функция не является конструктором, поэтому ее нельзя вызывать с new. В вашем тестовом коде просто сделайте: var triangle = isTriangle (5, 5, 5)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...