1

我正在为移动设备编写单元测试或集成测试。我可以制作自定义匹配器吗?

4

1 回答 1

4

是的,您可以创建自定义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 的测试框架有很多可以学习的自定义匹配器自定义查找器。

于 2017-11-14T22:40:29.377 回答