Dart 颤振中的jest快照测试等效于什么?

Dart 颤振中的jest快照测试等效于什么?,dart,flutter,Dart,Flutter,使用JS测试库Jest,可以获得如下“快照”: test('foo', () => { expect(42).toMatchSnapshot("my_snapshot"); }) 基本上,在第一次运行时,它会将测试值保存到一个文件中。在以后的运行中,它会将传递的值与文件中的值进行比较。因此,如果传递的值与该文件中的值不同,则测试将失败 这非常有用,因为它允许轻松创建测试 使用Flatter提供的测试框架有什么方法可以做到这一点吗?使用testWidgets,可以只对小部件进行测试

使用JS测试库Jest,可以获得如下“快照”:

test('foo', () => {
    expect(42).toMatchSnapshot("my_snapshot");
})
基本上,在第一次运行时,它会将测试值保存到一个文件中。在以后的运行中,它会将传递的值与文件中的值进行比较。因此,如果传递的值与该文件中的值不同,则测试将失败

这非常有用,因为它允许轻松创建测试


使用Flatter提供的测试框架有什么方法可以做到这一点吗?

使用
testWidgets
,可以只对小部件进行测试:

testWidgets('golden', (tester) async {
  await tester.pumpWidget(Container(
    color: Colors.red,
  ));

  await expectLater(
      find.byType(Container), matchesGoldenFile("red_container.png"));
});
首先,您必须泵送要测试的小部件(这里是一个红色容器)


然后您可以将
matchesGoldenFile
expectLater
结合使用。这将获取小部件的屏幕截图,并将其与先前保存的截图进行比较

在第一次运行时或当您想要更新goldens时,您必须向
颤振测试传递一个标志:

flutter test --update-goldens

可以使用
testWidgets
,仅对小部件执行此操作:

testWidgets('golden', (tester) async {
  await tester.pumpWidget(Container(
    color: Colors.red,
  ));

  await expectLater(
      find.byType(Container), matchesGoldenFile("red_container.png"));
});
首先,您必须泵送要测试的小部件(这里是一个红色容器)


然后您可以将
matchesGoldenFile
expectLater
结合使用。这将获取小部件的屏幕截图,并将其与先前保存的截图进行比较

在第一次运行时或当您想要更新goldens时,您必须向
颤振测试传递一个标志:

flutter test --update-goldens

matchesGoldenFile
是颤振测试的函数吗?是的,它与颤振的测试框架一起提供。有一个省道-非颤振-相当于测试字符串等原始数据吗?
matchesGoldenFile
是颤振测试的函数吗?是的,它附带了Flatter的测试框架,有一个dart-非Flatter-等价于测试字符串之类的原始数据吗?