簡體   English   中英

無法理解為什么茉莉花測試中數組為空

[英]Can't understand why an array is empty in Jasmine test

我正在嘗試測試一個簡單的函數(克隆數組)以了解Jasmine的工作原理。 我正在測試的功能有效(或無效,沒關系)。 但是我不知道如何正確測試。 這是我創建的套件:

describe("Clone an array of arrays", function(){

    var array_element;
    var array_origin;
    var array_cloned;

    beforeEach(function() {
        array_element = [4,0];
        array_origin = [1,2,array_element];
        array_cloned= array_Clone(array_origin);
    });

    it("Clone the array", function() {
        expect(array_cloned).toEqual(array_origin);
    });

    /* Commented because it is not relevant for the question
    // We should clone, not copy references, to subarrays
    if("Clone the elements", function(){
        expect(array_cloned[2]).not.toBe(array_element);
    });
    */
})

但是,當我運行它時,在第一次測試時出現以下錯誤:

Expected [ 1, 2, [ 4, 0 ] ] to equal [  ].

為什么array_origin是一個空數組? 我一直在尋找有關此信息,但我不明白為什么它沒有在beforeEach()([1,2,[3,4]);

什么是正確的測試方法?

替換為:

array_origin = [1,2,array_element]; // this will just put an array into an array
array_cloned= array_Clone(array_origin);

有了這個:

array_origin = [1,2].concat(array_element);
array_cloned = array_origin.map(function(elem) { return elem; }); // This is not a deep copy!

暫無
暫無

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

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