如何在 Flutter gold test 上检查字体文本

2024-04-28

我正在做一个package https://pub.dev/packages/mongol用于垂直蒙古文。我有一个自定义小部件,需要特殊字体才能显示。我正在尝试编写一个测试来显示蒙古文文本已正确呈现。

在模拟器上看起来像这样:

但黄金文件看起来像这样:

如果黄金测试只是给我豆腐,我无法验证蒙古语是否正确渲染。

这是我的测试:

testWidgets('MongolText renders font', (WidgetTester tester) async {

  await tester.pumpWidget(
    MaterialApp(
      home: Scaffold(
          appBar: AppBar(title: Text('My App')),
          body: Stack(
            children: <Widget>[
              Center(
                child: MongolText('ᠮᠣᠩᠭᠣᠯ'),
              ),
            ],
          )
      ),
    ),
  );

  await tester.pumpAndSettle();

  await expectLater(
    find.byType(MaterialApp),
    matchesGoldenFile('golden-file.png'),
  );
});

有没有什么办法解决这一问题?

我读过这两篇关于黄金测试的文章:

  • Flutter:黄金测试——将小部件与快照进行比较 https://medium.com/flutter-community/flutter-golden-tests-compare-widgets-with-snapshots-27f83f266cea
  • 你看得到差别吗? — Flutter 快照测试 https://medium.com/flutter-community/do-you-see-the-difference-flutter-golden-files-a1d431ed8a69

Flutter 测试目前仅支持一种字体,咳咳。

试试 eBay 上的这个包:https://pub.dev/packages/golden_toolkit https://pub.dev/packages/golden_toolkit

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Flutter gold test 上检查字体文本 的相关文章

随机推荐