【发布时间】:2014-05-21 15:17:12
【问题描述】:
我已阅读其他主题,尝试了多种解决方案,但似乎没有任何效果。
测试:
it("parses string array", function(){
var usArr = ["integer.ImageViewer.main.RawBuffer", "dio.ImageViewer.main.performUnitCalibration"];
var newJson = [
{
fname : "integer.ImageViewer.main.RawBuffer",
con : "ImageViewer.main",
type : "integer",
vars : [{name : "RawBuffer"}]
},
{
fname : "dio.ImageViewer.main.performUnitCalibration",
con : "ImageViewer.main",
type : "dio",
vars : [{name : "performUnitCalibration"}]
}
];
expect(JFactory.parseToJSON(usArr)).toEqual(newJson);
})
错误信息:
Expected
'[{"fname":"integer.ImageViewer.main.RawBuffer",
"com":"ImageViewer.main",
"type":"integer",
"vars":[{"name":"RawBuffer"}]},
{"fname":"dio.ImageViewer.main.performUnitCalibration",
"com":"ImageViewer.main",
"type":"dio",
"vars":[{"name":"performUnitCalibration"}]}]'
to equal
'[{"fname":"integer.ImageViewer.main.RawBuffer",
"con":"ImageViewer.main",
"type":"integer",
"vars":[{"name":"RawBuffer"}]},
{"fname":"dio.ImageViewer.main.performUnitCalibration",
"con":"ImageViewer.main",
"type":"dio",
"vars":[{"name":"performUnitCalibration"}]}]'.
Error: Expected
'[{"fname":"integer.ImageViewer.main.RawBuffer",
"com":"ImageViewer.main",
"type":"integer",
"vars":[{"name":"RawBuffer"}]},
{"fname":"dio.ImageViewer.main.performUnitCalibration",
"com":"ImageViewer.main",
"type":"dio",
"vars":[{"name":"performUnitCalibration"}]}]'
to equal
'[{"fname":"integer.ImageViewer.main.RawBuffer",
"con":"ImageViewer.main",
"type":"integer",
"vars":[{"name":"RawBuffer"}]},
{"fname":"dio.ImageViewer.main.performUnitCalibration",
"con":"ImageViewer.main",
"type":"dio",
"vars":[{"name":"performUnitCalibration"}]}]'.
我已经尝试对两个对象进行 JSON 字符串化,尝试过并尝试过:
expect(_.isEqual(JFactory.parseToJSON(usArr), newJson)).toEqual(true);
这里建议:Jasmine toEqual for complex objects (mixed with functions) 这给了我: ReferenceError: _ 未定义
我完全迷失了,因为这些对象似乎完全一样。
【问题讨论】:
标签: angularjs unit-testing jasmine karma-jasmine