[英]How to verify values in table row are not sorted using jasmine expect
我正在嘗試測試表數據是否已排序,我正在使用特定的列數據來測試數據。 但是我在測試結束時遇到了一個錯誤,例如“ Expected false to true”。
這樣我正在嘗試
var perGain = [];
var elm = element.all(by.repeater('stock in transactions').column('stock.gain'));
elm.each((td) => {
td.getText().then((val) => {
perGain.push(val);
})
}).then(() => {
expect(perGain.every((val, i) => (i < perGain.length - 1 ? val <= perGain[i + 1] : true)) === true).toBe(true);
});
這是我在perGain中得到的數組
['-42,314.40','-34.45','-29,666.52','-30.47','-22,283.50','-36.61','-22,267.92','-33.41','-20,097.32','-31.53' ,“-18,403.00”,“-51.73”,“-18,354.86”,“-20.68”,“-18,331.67”,“-46.54”,“-17,842.30”]]
需要測試表數據是否已排序
看來您正在嘗試對字符串而不是數字進行排序。
您應該將值從單元格更改為數字(例如,在推送時)。
您還可以檢查此庫: https : //www.npmjs.com/package/chai-sorted
編輯:你也應該記得刪除,
從您的數據。
您無需遍歷td數組並使個人期望。 您手動對給定的數組進行排序,並檢查排序后的數組是否不等於原始數組。 看下面的例子。
var tdValues = element.all(by.repeater('stock in transactions').column('stock.gain')).getText();
var tdValuesSorted = tdValues.then(function(values){
return values.sort()
});
expect(tdValues).not.toEqual(tdValuesSorted)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.