无法理解为什么在Jasmine测试中数组是空的

时间:2015-07-01 11:36:12

标签: javascript arrays jasmine bdd

我正在尝试测试一个简单的函数(克隆数组)以了解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]);

测试此方法的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

替换它:

<input type="Checkbox" name="ActiveCheck" id="ActiveCheck" value="0" unchecked>All<br>     

用这个:

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