4

我想用阴影渲染我的一些 Flutter 金色文件。我怎样才能做到这一点?

默认情况下禁用阴影: https ://github.com/flutter/flutter/blob/master/packages/flutter_test/lib/src/binding.dart#L942

4

1 回答 1

2

使用debugDisableShadows 标志

import 'package:flutter_test/flutter_test.dart';

void main() {
  testWidgets('my golden test with shadows enabled', (tester) async {
    // Enable shadows
    debugDisableShadows = false;

    await tester.pumpWidget(MyWidget());
    await expectLater(find.byType(MyWidget), matchesGoldenFile('..'));

    // Set the flag back to normal
    debugDisableShadows = true;
  });
}

请注意,您必须在测试用例中将标志切换回正常状态(而不是setUp/ tearDown) - 否则,它将失败。

发生这种情况是因为此检查是在主体testWidgets()完成后立即执行的,但在测试用例被认为完成之前。这也是之前tearDown()执行的。

于 2020-11-04T07:33:23.133 回答