大家好,我是新來的,
我有一個看起來像這樣的回應資料
[
{
"Outlet": "Outlet1",
"Inventory": 12
},
{
"Outlet": "Outlet2",
"Inventory": 0
},
{
"Outlet": "Outlet3",
"Inventory": 3
},
{
"Outlet": "Outlet4",
"Inventory": 0
}
}
我需要驗證插座 1 的庫存是否準確為 12,并且除插座 1 的庫存之外的所有其他資料都是 0。我需要回圈測驗嗎?
我已經試過了:
pm.test("Inventory.OnHand Outlet1 == 12", () => {
let Outlet1Result = jsonData.find(a => a.Outlet === "Outlet1")
pm.expect(Outlet1Result.Outlet).to.eql("Outlet1")
pm.expect(Outlet1Result.Inventory).to.eql(12)
});
pm.test("Inventory.OnHand not Outlet1 == 0", () => {
if (jsonData.Outlet !== "Outlet1") {
jsonData.forEach(function() {
let result2 = jsonData.find(a => a.Outlet !== "Outlet1")
pm.expect(result2.Inventory).to.eql(0)
}) ;
}
});
我試過使用這 2 個測驗,第一個測驗作業得很好,但我認為第二個測驗是錯誤的,因為它通過了,它不應該通過,因為 outlet 3 庫存是 3,文本期望它是 0
uj5u.com熱心網友回復:
為什么你不能只比較物件而不是單個欄位?當您比較精確值時。
let expected = [
{
"Outlet": "Outlet1",
"Inventory": 12
},
{
"Outlet": "Outlet2",
"Inventory": 0
},
{
"Outlet": "Outlet3",
"Inventory": 3
},
{
"Outlet": "Outlet4",
"Inventory": 0
}
]
pm.expect(JSONdata).to.be.deep.eq(expected1, `Expected ${JSON.stringify(JSONdata,null,2)} to be equal to ${JSON.stringify(expected,null,2)}`)
uj5u.com熱心網友回復:
其他方式是:
pm.test("Validate inventory values", () => {
jsonData.forEach(function (item) {
if (item.Outlet !== "Outlet1") {
pm.expect(item.Inventory,
`Expected inventory value of ${item.Outlet} to be 0`).
to.
eql(0)
} else {
pm.expect(item.Inventory,
`Expected inventory value of ${item.Outlet} to be 12`).
to.
eql(12)
}
})
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/338707.html
上一篇:將CppADCodeGen與CMakeFetchContent或ExternalProject結合使用
下一篇:僅在單元測驗中可用的方法
