2017-02-02 16 views
0

Я пытаюсь начать работу с модульным тестированием с помощью javascript. Я использую jasmine framework 2.5.2 и Netbeans 8.2 в качестве моей IDE.Тестирование модуля Javascript - тест Jasmine не удается, хотя код работает как ожидалось

Это простой код, который я хочу, чтобы тест:

var ListHandler = { 

    "reverseList": function (inputList) { 
     var list = inputList, 
      reversedList = [], 
      length = list.length; 

     for (var i = 0; i < length; i++) { 
      reversedList.push(list[length - i - 1]); 
     } 

     return reversedList; 
    }, 

    "sumUp": function (inputList) { 
     var count = 0; 
     for (var i = 0; i < inputList.length; i++) { 
      count += inputList[i]; 
     } 

     return count; 
    }, 

    "concatenate": function (inputList1, inputList2) { 
     var result = inputList1.concat(inputList2); 
     return result; 
    } 
} 

Это мой тест:

describe("List Handler", function(){ 

    it("should return reversed List",function(){ 
     expect(ListHandler.reverseList([1,2,3])).toEqual([3,2,1]); 
    }); 

    it("should return sum of list values",function(){ 
     expect(ListHandler.sumUp([1,2,3])).toEqual(6); 
    }); 

    it("should return concatenated List", function(){ 
     expect(ListHandler.concatenate([1,2],["a","b"]).toEqual([1,2,"a","b"])); 
    }); 
}); 

Так что, когда я запустить тест, первые два метода прохождения, но я получаю ошибка для последнего метода «concenate»:

TypeError: ListHandler.concatenate(...).toEqual is not a function

Однако, когда я просто запустить его как alert(ListHandler.concatenate([1,2,5], ["a", "b", "c"])); это приста ks штраф. Может кто-нибудь объяснить мне, почему жасмин жалуется?

ответ

1

У вас есть неуместная закрывающая скобка.

Попробуйте;

expect(ListHandler.concatenate([1,2],["a","b"])).toEqual([1,2,"a","b"]);