2016-03-07 3 views
-2

Я получаю сообщение об ошибке в терминале Expected undefined to be greater than 18. Я создал функцию, и я вызываю функцию в функции ожидания. Нужно ли передавать функцию как переменную?Jasmine unit testing - undefined function

describe("Age Test", function() { 
    it("It calculates age and the return value must be greater than 18", 
    function(){ 
     /* Define */ 
     function ageCalculator(yDD,yMM,yYY) { 

      // Current date 
      var today = new Date(); 
      var cDD = today.getDate(); 
      var cMM = today.getMonth()+1; //January is 0! 
      var cYY = today.getFullYear(); 

      // Difference in date 
      var dDD = cDD - yDD; 
      var dMM = cMM - yMM; 
      var dYY = cYY - yYY; 
      if (dMM < 0) { 
       dYY = dYY - 1; 
      } 

      if (dDD < 0) { 
       dMM = dMM - 1; 
      } 

      dDD = dDD - 1; 

      dMM = 12 + dMM; 
      dDD = 30 + dDD; 

     } 

     /* Run Mock */ 
     expect(ageCalculator(27,4,1991)).toBeGreaterThan(18); 
    }); 
}); 
+0

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/return – undefined

ответ

2

Вы ничего не вернуть из функции, следовательно, результат ageCalculator(27,4,1991) вызова undefined.

Смежные вопросы