簡體   English   中英

單元測試Javascript-Jasmine測試失敗,盡管代碼按預期工作

[英]Unit testing Javascript - Jasmine test fails although code is working as expected

我正在嘗試使用javascript進行單元測試。 我將茉莉花框架2.5.2和Netbeans 8.2用作我的IDE。

這是我要測試的簡單代碼:

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"]));
   });
});

因此,當我運行測試時,前兩個方法通過了,但是最后一個方法“ conconate”卻出現了錯誤:

TypeError:ListHandler.concatenate(...)。toEqual不是函數

但是,當我像alert(ListHandler.concatenate([1,2,5], ["a", "b", "c"]));那樣執行它時alert(ListHandler.concatenate([1,2,5], ["a", "b", "c"])); 它工作正常。 有人可以向我解釋為什么茉莉花會抱怨嗎?

您的放錯了關閉狀態。

嘗試;

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM