茉莉花的帮助,期望不起作用

时间:2014-07-18 16:19:44

标签: javascript jasmine

//spec

it('check process data to see if it returns correct JSON object', function() {

var dataExpected = [];

    dataExpected.push({
        image : "https://katmou.files.wordpress.com/2011/11/blade_runner.jpeg",
        title : "Harrison",
        id : 1

    });

    expect(dataAfter).toEqual(dataExpected);
});

错误:

[ERROR] :  .  THERE WERE FAILURES!
[ERROR] :  .  ============================================================
[ERROR] :  .  Recap of failing specs:
[ERROR] :  .  ------------------------------------------------------------
[ERROR] :  .  viewP controller check process data to see if it returns correct JSON object. - Expected [ { image : 'https://katmou.files.wordpress.com/2011/11/blade_runner.jpeg', title : 'Harrison', id : '1' } ] to equal [ { image : 'https://katmou.files.wordpress.com/2011/11/blade_runner.jpeg', title : 'Harrison', id : 1 } ].

之后的数据与预期相同,但仍然失败,为什么?

干杯。

2 个答案:

答案 0 :(得分:1)

您希望id属性为1,但结果为'1'

答案 1 :(得分:0)

从Jasmine 2.0 Doc http://jasmine.github.io/2.0/introduction.html开始,.toEqual应该适用于对象,但是您传递的数组包含一个对象,因此它可能不同。 您确定 dataAfter 的声明方式相同吗?(数组中的obj)

另一种解决方案可以比较两个数组将它们作为字符串传递给JSON.stringify()。 请参阅:Object comparison in JavaScript