Az összehasonlításhoz a deep-diff könyvtárat fogjuk használni.
A lépések a következők:
- Át kell másolni a könyvtár minify-olt forráskódját a Collection Pre-request Scripts közé
- Deklarálni kell ugyanitt a DeepDiff változót, és értéket adni neki
- Meg kell hívni a DeepDiff függvényt
A forráskódot a következő címről kell átmásolni:
https://raw.githubusercontent.com/flitbit/diff/master/dist/deep-diff.min.js
Ez a this
objektumba definiál egy DeepDiff
függvényt, és ahhoz, hogy egyszerűen el lehessen érni a tesztjeinkből, a bemásolt forráskód végére a következőt kell írni:
DeepDiff = this.DeepDiff;
Ezután már meg is lehet hívni a Request Tests fülében:
a = {"name":"John Doe"};
b = {"name":"John Doe"};
result = DeepDiff(a, b);
console.log(result);
Ekkor egyezőség van, ekkor undefined
értéket ad vissza.
Nézzük két különböző JSON esetén:
a = {"name":"John Doe",
"phones": [{"type": "mobile", "number": "123"}, {"type": "mobile2", "number": "123"}]};
b = {"name":"John Doe",
"phones": [{"type": "mobile", "number": "123"}, {"type": "mobile2", "number": "124"}]};
result = DeepDiff(a, b);
console.log(result);
Ennek hatására a következő JSON-t fogja visszaadni:
[
{
"kind":"E",
"path":[
"phones",
1,
"number"
],
"lhs":"123",
"rhs":"124"
}
]
Ez azt mondja, hogy értékbeli különbség van, a $.phones[1]/number
path-on, az első JSON-ben a 123
, a második JSON-ben a 124
szöveg szerepel.