我正在为移动设备编写单元或集成测试。我可以制作自定义匹配器吗?
答案 0 :(得分:2)
是的,您可以创建自定义Matcher
类和自定义Finder
类。
这是Flutter的自定义匹配器之一,断言给定的Finder
找到了Card
小部件中的小部件:
class _IsInCard extends Matcher {
const _IsInCard();
@override
bool matches(covariant Finder finder, Map<dynamic, dynamic> matchState) => _hasAncestorOfType(finder, Card);
@override
Description describe(Description description) => description.add('in card');
}
Matcher
类不是Flutter框架的一部分。它在package:mathcer
中定义。 Flutter从package:test
继承它。所有Flutter自己的Matcher类都是它的自定义实现。
Flutter test framework有很多custom matchers和custom finders你可以学习。