Я начал работать с Qunit для выполнения модульного тестирования моего кода, но у меня возникают проблемы со сравнением объектов.
Код, который я тестирую, динамически создает объект:
var fields = ['id','name'];
var result = {};
for (var field in fields)
{
var name = fields[field];
result[name] = name;
}
var expected = { id : 'id', name : 'name' };
test(expected, result, "same ?");
Этот тест не пройден, и я вижу, что, хотя ожидаемый просто содержит поля id и name, результат также содержит множество функций, например
"function (iterator, context) {...
Я думаю, что эти функции происходят от меня, рассматривая объект какмассив для присвоения ему.
Есть ли способ вырезать эти функции (или предотвратить их добавление в первую очередь)?
Я думал о том, чтобы сделать
result = $.parseJSON($.toJSON(result));
есть ли лучший способ?