我對 Chai 完全陌生,這可能真的很簡單,但我在官方檔案中找不到任何關于我的案例的參考。我正在嘗試驗證具有兩個物件的陣列是否具有與另一個陣列中的值完全匹配的屬性值。
考慮以下:
test('Array includes ids', function() {
const array1 = [
{
type: 'type1',
id: '1'
},
{
type: 'type2',
id: '2'
},
]
const array2 = ['1', '2']
chai.expect(array1).to.have.deep.members(array2) // fails
})
我想驗證 中的物件是否array1具有具有id在 中找到的值之一的屬性array2。我知道我可以將其映射array1為array1.map(p => p.id)并將其與 進行比較array2,但這似乎與作為實踐的測驗背道而馳。畢竟,我不想過多地篡改我的目標,使其符合我目前的知識水平。
有沒有更好的方法來測驗這個?(不用說,我上面的示例代碼不能按預期作業。)
uj5u.com熱心網友回復:
只需將您的array1with.map()方法轉換為您的那種只有 id 的陣列,就像array2,
test('Array includes ids', function() {
const array1 = [
{
type: 'type1',
id: '1'
},
{
type: 'type2',
id: '2'
},
]
const arr1 = array1.map(e=>e.id);//transform with .map() -> ['1', '2']
const array2 = ['1', '2']
chai.expect(arr1).to.have.deep.members(array2) // pass
})
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/354990.html
標籤:javascript 时间 柴
下一篇:Vue.js中的事件處理
