相同的代码在不同的机器上生成不同的黄金图像

时间:2019-08-19 01:28:46

标签: flutter flutter-test

我在flutter应用程序上为屏幕添加了屏幕快照测试,并在Circle CI上添加了我的项目,但是由于某些原因,ci和计算机上生成的图像略有不同,并且测试失败。

下面您可以看到测试代码的片段:

Future<BudgetList> loadState(WidgetTester tester) async {
    final screen = BudgetList();
    mockBloc = MockBloc();

    await tester.pumpWidget(
      MaterialApp(
        theme: ThemeData.dark(),
        home: Provider.value(
          value: mockBloc,
          child: screen,
        ),
      ),
    );

    return screen;
  }

  group('When the budget list is open', () {
    testWidgets('It should be displayed', (tester) async {
      await loadState(tester);

      await expectLater(
        find.byType(BudgetList),
        matchesGoldenFile('screenshots/with-items.png'),
      );
    });
  });

这是我的机器上生成的图像: enter image description here

这是在circleci上生成的图像: enter image description here

有人知道如何确保每次独立于机器生成相同的黄金图像吗?

0 个答案:

没有答案