Flutter 如何测试电子邮件应用程序打开的颤振url_启动器?
我有一个带有SnackbarAction的Snackbar,可以打开默认的电子邮件应用程序,并点击默认的主题和正文。我想知道是否有某种可能性来验证这是否真的发生在一些单元测试中 我的Snackbar代码如下所示:Flutter 如何测试电子邮件应用程序打开的颤振url_启动器?,flutter,flutter-test,Flutter,Flutter Test,我有一个带有SnackbarAction的Snackbar,可以打开默认的电子邮件应用程序,并点击默认的主题和正文。我想知道是否有某种可能性来验证这是否真的发生在一些单元测试中 我的Snackbar代码如下所示: SnackBar get snackbar => SnackBar( content: Text(message), action: SnackBarAction( key: const Key('E
SnackBar get snackbar =>
SnackBar(
content: Text(message),
action: SnackBarAction(
key: const Key('ErrorSnackbarAction'),
label: AppLocalizations
.of(_context)
.report,
onPressed: () async => await launch('mailto:test@test.com?subject=TestSubject&body=TestBody')));
我已经在验证外观是否正常工作:
group('ErrorSnackbar', () {
testWidgets('appearance test', (WidgetTester tester) async {
await tester.pumpWidget(_generateSnackbarApp());
await _showSnackbar(tester);
expect(find.text(userMessage), findsOneWidget);
expect(find.byWidgetPredicate((Widget widget) =>
widget is SnackBarAction && widget.label == 'Report'), findsOneWidget);
});
testWidgets('error report test', (WidgetTester tester) async {
await tester.pumpWidget(_generateSnackbarApp());
await _showSnackbar(tester);
tester.tap(find.byKey(errorSnackbarAction));
await tester.pump();
// how to verify that the default email app was opened
// with expected subject and body?
});
});
简单回答:你不能 使用
mailto
进行的启动由设备的操作系统处理,与flift应用程序无关。
由于颤振测试包的重点是颤振应用程序,操作系统上发生的事情是遥不可及的