簡體   English   中英

如何更改 dart 測試中的期望文本

[英]How to change expect text in dart test

如果 dart expect失敗,是否有可能更改打印的文本?

它適用於基元,但使用對象列表很難找到差異。

更新

測試庫使用toString()方法在測試結果中顯示值差異。 我使用的是凍結的,所以默認情況下這只會轉儲所有 object 屬性。
一種解決方案是在您的 class 中實現自定義toString以更改對象在測試結果中的顯示方式。

使用reason參數來expect

import 'package:test/test.dart';

void main() {
  test('Example', () {
    var data = ['duck', 'duck', 'goose'];
    for (var i = 0; i < data.length; i += 1) {
      expect(data[i], 'duck', reason: 'Failed on iteration $i');
    }
  });
}

印刷:

00:00 +0 -1: Example [E]

  Expected: 'duck'
    Actual: 'goose'
     Which: is different.
            Expected: duck
              Actual: goose
                      ^
             Differ at offset 0
  Failed on iteration 2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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