如何在 flutter 单元测试的 expect 函数中比较两个列表?
How do I compare two list in expect function of flutter unit testing?
List<int> l1=[1,2,3]; List<int> l2=[1,2,3]; expect (l1,l2);
这是我在 Flutter 单元测试中使用的代码。
尽管两个列表的内容相同,但我无法通过测试。我无法找到在 Flutter 单元测试中使用 Equatable 比较列表的用例。有人可以帮忙吗?谢谢!
您可以使用方法 ListEquality().equals() 来检查两个 List
是否相等。
import 'package:collection/collection.dart';
List<int> l1 = [1,2,3];
List<int> l2 = [1,2,3];
final bool equal = ListEquality().equals(l1, l2):
expect(equal, true);
列表相等在 Dart 中的工作方式不同。由于一切都是对象,因此您需要一种机制来检查每个元素。
如果两个列表没有嵌套 objects/informations,您可以使用 ListEquality
class 来比较它们,或者,如果您想比较嵌套 objects/informations,您可以使用 DeepCollectionEquality
。两者都来自 Dart 开箱即用的集合库。
您可以查看以下用法示例:
import 'package:collection/collection.dart';
void main() {
const numberListOne = [1,2,3];
const numberListTwo = [1,2,3];
final _listEquality = ListEquality();
print(_listEquality.equals(numberListOne, numberListTwo));
}
List<int> l1=[1,2,3]; List<int> l2=[1,2,3]; expect (l1,l2);
这是我在 Flutter 单元测试中使用的代码。
尽管两个列表的内容相同,但我无法通过测试。我无法找到在 Flutter 单元测试中使用 Equatable 比较列表的用例。有人可以帮忙吗?谢谢!
您可以使用方法 ListEquality().equals() 来检查两个 List
是否相等。
import 'package:collection/collection.dart';
List<int> l1 = [1,2,3];
List<int> l2 = [1,2,3];
final bool equal = ListEquality().equals(l1, l2):
expect(equal, true);
列表相等在 Dart 中的工作方式不同。由于一切都是对象,因此您需要一种机制来检查每个元素。
如果两个列表没有嵌套 objects/informations,您可以使用 ListEquality
class 来比较它们,或者,如果您想比较嵌套 objects/informations,您可以使用 DeepCollectionEquality
。两者都来自 Dart 开箱即用的集合库。
您可以查看以下用法示例:
import 'package:collection/collection.dart';
void main() {
const numberListOne = [1,2,3];
const numberListTwo = [1,2,3];
final _listEquality = ListEquality();
print(_listEquality.equals(numberListOne, numberListTwo));
}