我可以为Flutter单元或集成测试制作自定义匹配器吗?

时间:2017-11-14 22:13:45

标签: dart flutter flutter-test

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

1 个答案:

答案 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 matcherscustom finders你可以学习。