有没有办法让 mockito 为 Flutter 项目中的集成测试生成模拟
Is there a way to let mockito generate mocks for integration tests in a Flutter project
Mockito 为 @GenerateMocks
注释中的所有 类 列表生成模拟。它对 test
文件夹中的测试这样做,但对 integration_test
文件夹中的测试不这样做。我该如何更改?
TL;DR
将包含以下内容的 build.yaml 文件添加到您的项目根文件夹。
targets:
$default:
sources:
- $package$
- lib/$lib$
- lib/**.dart
- test/**.dart
- integration_test/**.dart
builders:
mockito|mockBuilder:
generate_for:
- test/**.dart
- integration_test/**.dart
说明
需要 generate_for
和 sources
来告诉 mockBuilder 应该处理哪些文件。
generate_for
配置只是构建器使用的所有文件的一个子集。但默认情况下,这些文件不包含 integration_test 文件夹。要修改它,我们可以手动列出源文件。我们必须包含默认来源 $package$
和 lib/$lib$
,否则我们会收到警告。
通过包含任何文件夹 - 在我们的例子中 'integration_test' 它也将可供 generate_for
使用。
以下是 build_config/README.md 的摘录:
- generate_for: String 或 Map 的列表,可选:。内的文件子集
目标的
sources
应该应用此生成器。参见 sources
上面的配置如何配置这个。
和:
- sources:字符串列表或映射,可选。内的文件集
构成这个目标的包。文件是使用 glob 语法指定的。如果一个
使用字符串列表,它们被认为是 'include' glob。如果地图是
used 只能有键
include
和 exclude
。任何匹配的文件
include
中的任何 glob 而 exclude
中没有任何 glob 被认为是
目标。当省略 include
时,每个文件都被认为是匹配项。
Mockito 为 @GenerateMocks
注释中的所有 类 列表生成模拟。它对 test
文件夹中的测试这样做,但对 integration_test
文件夹中的测试不这样做。我该如何更改?
TL;DR
将包含以下内容的 build.yaml 文件添加到您的项目根文件夹。
targets:
$default:
sources:
- $package$
- lib/$lib$
- lib/**.dart
- test/**.dart
- integration_test/**.dart
builders:
mockito|mockBuilder:
generate_for:
- test/**.dart
- integration_test/**.dart
说明
需要 generate_for
和 sources
来告诉 mockBuilder 应该处理哪些文件。
generate_for
配置只是构建器使用的所有文件的一个子集。但默认情况下,这些文件不包含 integration_test 文件夹。要修改它,我们可以手动列出源文件。我们必须包含默认来源 $package$
和 lib/$lib$
,否则我们会收到警告。
通过包含任何文件夹 - 在我们的例子中 'integration_test' 它也将可供 generate_for
使用。
以下是 build_config/README.md 的摘录:
- generate_for: String 或 Map 的列表,可选:。内的文件子集
目标的
sources
应该应用此生成器。参见sources
上面的配置如何配置这个。
和:
- sources:字符串列表或映射,可选。内的文件集
构成这个目标的包。文件是使用 glob 语法指定的。如果一个
使用字符串列表,它们被认为是 'include' glob。如果地图是
used 只能有键
include
和exclude
。任何匹配的文件include
中的任何 glob 而exclude
中没有任何 glob 被认为是 目标。当省略include
时,每个文件都被认为是匹配项。