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