flutter - 如何在 flutter 测试中禁用对黄金图像的检查

标签 flutter dart testing flutter-test

我正在尝试在 Flutter 项目上创建 CI 工作流程。 在这些工作流程中,我必须使用 flutter test 运行测试。 由于某些技术原因,我希望能够在某些工作流程中使用黄金图像运行测试,而其他一些工作流程则在忽略所有黄金图像检查的情况下运行测试。

有办法吗?

最佳答案

您可以使用强烈推荐的金色 toolkit .

this answer 中所述,您只需在 test/flutter_test_config.dart 中创建一个包含以下内容的文件:

import 'dart:async';
import 'dart:io';

import 'package:golden_toolkit/golden_toolkit.dart';

Future<void> testExecutable(FutureOr<void> Function() testMain) async {
  return GoldenToolkit.runWithConfiguration(
    () async {
      await loadAppFonts();
      await testMain();
    },
    config: GoldenToolkitConfiguration(
      // Currently, goldens are not generated/validated in CI for this repo.     We have settled on the goldens for this package
      // being captured/validated by developers running on MacOSX. We may revisit this in the future if there is a reason to invest
      // in more sophistication
      skipGoldenAssertion: () => !Platform.isMacOS,
    ),
  );
}

关于flutter - 如何在 flutter 测试中禁用对黄金图像的检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67404751/

相关文章:

dart - Dart Editor无法运行当前选择-请选择可运行资源

调用 Navigator Pop 或 Push 时触发 Flutter Stream Builder

python - 哪个更糟糕的设计 : sharing data between tests, 或每个测试的多个断言?

php - 测试参数是否存在于函数中

Dart/flutter : async behaviour of an Isolate's top level function

firebase - 查询在 Firestore 中具有类型引用的文档

flutter - Flutter 中桌面的条件包导入

templates - Dart 中的 Mustache 模板用法

flutter - 如何在文本小部件上添加一个主题分隔线,如一 strip 有填充的线?

使用 Lambda 表达式或 Func 委托(delegate)的 C# Moq 单元测试