Flutter 颤振测试框架捕获异常
我有以下小部件测试,当我没有运行任何测试时,测试正常通过,但当我运行所有主程序时,我有一个错误 我所做的测试符合以下要求:Flutter 颤振测试框架捕获异常,flutter,flutter-test,Flutter,Flutter Test,我有以下小部件测试,当我没有运行任何测试时,测试正常通过,但当我运行所有主程序时,我有一个错误 我所做的测试符合以下要求: void main() { TestWidgetsFlutterBinding.ensureInitialized(); testWidgets('initial status of login page', (WidgetTester tester) async { Widget widget = LoginPage(); await test
void main() {
TestWidgetsFlutterBinding.ensureInitialized();
testWidgets('initial status of login page', (WidgetTester tester) async {
Widget widget = LoginPage();
await tester.pumpWidget(MaterialApp(
navigatorKey: navigatorKey,
scaffoldMessengerKey: scaffoldMessengerKey,
home: widget,
locale: Locale('en'),
supportedLocales: lang.getSupportedLocales(),
localizationsDelegates: lang.localizationsDelegates,
localeResolutionCallback: lang.getLocaleResolutionCallback,
));
await tester.pumpAndSettle();
expect(find.text(lang.translate('login.welcome')), findsOneWidget);
});
testWidgets('enter an invalid email', (WidgetTester tester) async {
Widget widget = LoginPage();
await tester.pumpWidget(MaterialApp(
navigatorKey: navigatorKey,
scaffoldMessengerKey: scaffoldMessengerKey,
home: widget,
locale: Locale('en'),
supportedLocales: lang.getSupportedLocales(),
localizationsDelegates: lang.localizationsDelegates,
localeResolutionCallback: lang.getLocaleResolutionCallback,
));
await tester.pumpAndSettle();
final Finder emailInputFinder = find.byKey(Key('emailInput'));
final Finder passwordInputFinder = find.byKey(Key('passwordInput'));
final Finder signInButtonFinder = find.byKey(Key('signInButton'));
await tester.tap(emailInputFinder);
await tester.enterText(emailInputFinder, 'email');
await tester.pumpAndSettle();
await tester.enterText(passwordInputFinder, 'password');
await tester.pumpAndSettle();
expect(signInButtonFinder, findsNothing);
});
}
在控制台中时发生的错误是:
✓ initial status of login page
══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
The following StateError was thrown running a test:
Bad state: No element
When the exception was thrown, this was the stack:
#0 Iterable.single (dart:core/iterable.dart:498:25)
#1 WidgetController._getElementPoint (package:flutter_test/src/controller.dart:814:47)
#2 WidgetController.getCenter (package:flutter_test/src/controller.dart:786:12)
#3 WidgetController.tap (package:flutter_test/src/controller.dart:257:18)
#4 main.<anonymous closure> (file:///Users/ezequiel/Documents/Larvia/lrv-mobile-app/test/widget_test/login2_test.dart:45:18)
<asynchronous suspension>
<asynchronous suspension>
(elided one frame from package:stack_trace)
The test description was:
enter an invalid email
════════════════════════════════════════════════════════════════════════════════════════════════════
Test failed. See exception logs above.
The test description was: enter an invalid email
✓ 登录页面的初始状态
══╡ 颤振测试框架捕获异常╞════════════════════════════════════════════════════
运行测试时引发了以下StateError:
错误状态:无元素
引发异常时,这是堆栈:
#0可扩展。单个(省道:核心/可扩展。省道:498:25)
#1个WidgetController.\u getElementPoint(包:颤振测试/src/控制器。dart:814:47)
#2 WidgetController.getCenter(包:颤振测试/src/controller.dart:786:12)
#3 WidgetController.tap(包:颤振测试/src/controller.dart:257:18)
#4主要问题。(file:///Users/ezequiel/Documents/Larvia/lrv-mobile-app/test/widget_test/login2_test.dart:45:18)
(从包中删除一帧:堆栈跟踪)
试验说明如下:
输入无效的电子邮件
════════════════════════════════════════════════════════════════════════════════════════════════════
测试失败。请参阅上面的异常日志。
测试描述为:输入无效电子邮件
我需要帮助,如果你有任何想法,我感谢你的时间