тест виджета, тестирование кнопки с помощью CircularProgressIndicator
У меня есть два теста, которые после нажатия на кнопку я хочу проверить, появится ли на кнопке CircularProgressIndicator. Проблема после крана и
tester.pump()
, он не может найти CircularProgressIndicator, вызывающий сбой теста, я попытался с
pumpAndSettle()
а также добавить
Duration(seconds:x)
но получил ту же ошибку
Это странно, потому что тесты прошли нормально, прежде чем я обновил flutter sdk до 1.22.0, обновил свои пакеты flutterFire и перешел на использование Android-встраивания V2.
testWidgets("Should show loading button when click on request button ",
(WidgetTester tester) async {
await tester.pumpWidget(
_buildWidget(
home: FinancialDialogBill(
paymentId: "fakePaymentId",
additionalValueType: AdditionalValueType.fee,
billValues: billValues,
installmentList: installments,
),
),
);
expect(find.byKey(financialDialogBillRequestButton), findsOneWidget);
expect(find.byKey(financialDialogBillRequestButtonLoading), findsNothing);
await tester.tap(find.byKey(financialDialogBillRequestButton));
await tester.pump();
expect(
find.byKey(financialDialogBillRequestButtonLoading), findsOneWidget);
expect(find.byKey(financialDialogBillRequestButton), findsNothing);
});
});
1 ответ
Немного поздно, но я тоже столкнулся с этой проблемой, самый короткий обходной путь, который я нашел, я просто попробовал / поймал ошибку тайм-аута ...
try {
await tester.pumpAndSettle();
} catch (err) {}
expect(find.byKey(financialDialogBillRequestButtonLoading), findsOneWidget);
expect(find.byKey(financialDialogBillRequestButton), findsNothing);
Счастлив, если это может помочь кому-то до того, как будет найдено лучшее решение.