Как протестировать холст с помощью testWidgets в проекте мобильного приложения Flutter

Я читал о том, как создавать тесты для виджетов приложения flutter с функцией testWidgets, как этот тест, который используется по умолчанию при создании нового проекта flutter:

// <project>/test/widget_test.dart
void main() {
  testWidgets('Counter increments smoke test', (WidgetTester tester) async {
    await tester.pumpWidget(CounterApp());
    // validate counter starts at zero
    expect(find.text('0'), findsOneWidget);
    
    await tester.tap(find.byIcon(Icons.add));
    await tester.pump();

    expect(find.text('0'), findsNothing);
    expect(find.text('1'), findsOneWidget);
  }
}

Но как протестировать холст, чтобы увидеть, правильно ли отображаются рисунки / узоры и абзацы? Найдет ли объект поиска виджет Текст, если я нарисую абзац с canvas.drawParagraph(...)? Мне не удалось найти информацию об этом в документации.


person Tiago Mendonça    schedule 28.07.2020    source источник
comment
Возможно, вы захотите изучить использование matchesGoldenFile для сравнения снимков экрана.   -  person jamesdlin    schedule 28.07.2020


Ответы (1)


Тестирование Canvas в целом (независимо от технологии) должно выполняться с использованием визуального тестирования (или визуального регрессионного тестирования).

Пакет flutter_test предоставляет _ 2_, которая делает это возможным. На Github Flutter есть хороший / a>, которая поможет вам пройти через это.

person Michal Karbownik    schedule 09.11.2020