【发布时间】:2021-11-06 16:30:58
【问题描述】:
我有两个集成测试文件:login_test.dart 和 homepage_test.dart(每个都包括带有 1 个 testWidgets 方法的单个测试用例)
我正在使用命令行来运行这两个测试:
flutter test integration_test/
但问题是当测试运行并通过 login_test 时。它完全重新安装了我的应用程序,因此第二次测试将失败,因为没有登录凭据(卡在登录屏幕 -> 失败)
知道如何解决这个问题吗?
感谢您的帮助。
login_test.dart
void main() {
IntegrationTestWidgetsFlutterBinding.ensureInitialized();
group('end to end tests', () {
testWidgets('test login', (WidgetTester tester) async {
app.main();
await tester.pumpAndSettle();
final Finder textFieldFinder = find.byType(TextFormField);
expect(textFieldFinder, findsNWidgets(2));
final userName = textFieldFinder.first;
final password = textFieldFinder.last;
await tester.enterText(userName, 'myusername');
await tester.enterText(password, 'mypassword');
expect(find.text('Login'), findsOneWidget);
await tester.tap(find.text('Login'));
await tester.pumpAndSettle();
expect(find.byKey(Key('createTicketBtn')), findsOneWidget);
});
});
}
homepage_test.dart
void main() {
IntegrationTestWidgetsFlutterBinding.ensureInitialized();
group('end to end tests', () {
testWidgets('test homepage', (tester) async {
app.main();
await tester.pumpAndSettle();
expect(find.byKey(Key('createTicketBtn')), findsOneWidget);
});
});
}
【问题讨论】:
标签: flutter testing flutter-test