簡體   English   中英

如何驗證表行中的值未使用茉莉花期望進行排序

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM