Я использую следующие версии:
"jasmine-core": "~2.8.0",
"jasmine-spec-reporter": "~4.2.1",
"karma-jasmine": "~1.1.0",
"karma-jasmine-html-reporter": "^0.2.2",
"@types/jasmine": "~2.8.3",
Называй меня глупым, но мне это нужно.Равенство по значению, а не по ссылке
function isEqual(var1, var2) {
//....
// return true or false
}
Тест:
isEqual(1,1) // true
isEqual("Test", "Test") // true
isEqual([1,2,3], [3,2,1]) // true => irrespective of array index
isEqual({a:1, b:2}, {b:2, a:1}) // true
isEqual([{a:1}, {b:2}], [{b:2}, {a:1}]) // true
isEqual([1,2, {a:{b:2}}], [2,1, {a:{b:2}}]) // true
isEqual([{a:[1,2], b:10}], [{b:10, a:[2,1]}]) // true
Справочная информация: Я использую Jasmin для углового тестирования.Получение трудностей в проверке равенства объекта по значению.expect().toEqual()
проверить равенство типа объекта.Я хочу сравнить массив объектов независимо от индекса массива.
Что я получу:
expect([{ a: 1 }, { b: 2 }]).toEqual([{ a: 1 }, { b: 2 }]); // true
expect([{ a: 1 }, { b: 2 }]).toEqual([{ b: 2 }, { a: 1 }]); // false
Что я хочу:
expect([{ a: 1 }, { b: 2 }]).toEqual([{ a: 1 }, { b: 2 }]); // true
expect([{ a: 1 }, { b: 2 }]).toEqual([{ b: 2 }, { a: 1 }]); // true