List<int> l1=[1,2,3]; List<int> l2=[1,2,3]; expect (l1,l2);这是我在Flutter单元测试中使用的代码。即使两个列表有相同的内容,我还是无法通过测试。我无法找到在Flutter单元测试中使用Equatable比较列表的用例。有人能帮忙吗?谢谢!
List<int> l1=[1,2,3]; List<int> l2=[1,2,3]; expect (l1,l2);
vfhzx4xs1#
可以使用ListEquality().equals()方法检查两个List是否相等。
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);
68de4m5k2#
在Dart中,列表相等性的工作方式不同。因为所有东西都是对象,所以需要一种机制来检查每个元素。你可以使用ListEquality类来比较两个列表,如果它们没有嵌套的对象/信息,或者,如果你想比较嵌套的对象/信息,你可以使用DeepCollectionEquality。这两个都来自集合库,它是随Dart一起提供的。您可以查看以下用法示例:
ListEquality
DeepCollectionEquality
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)); }
2条答案
按热度按时间vfhzx4xs1#
可以使用ListEquality().equals()方法检查两个
List
是否相等。68de4m5k2#
在Dart中,列表相等性的工作方式不同。因为所有东西都是对象,所以需要一种机制来检查每个元素。
你可以使用
ListEquality
类来比较两个列表,如果它们没有嵌套的对象/信息,或者,如果你想比较嵌套的对象/信息,你可以使用DeepCollectionEquality
。这两个都来自集合库,它是随Dart一起提供的。您可以查看以下用法示例: