Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart 如何在颤振集成测试中模拟/绕过外部依赖关系和工作流?_Dart_Flutter_Flutter Test - Fatal编程技术网

Dart 如何在颤振集成测试中模拟/绕过外部依赖关系和工作流?

Dart 如何在颤振集成测试中模拟/绕过外部依赖关系和工作流?,dart,flutter,flutter-test,Dart,Flutter,Flutter Test,我正在写一个Flutter应用程序,它只有一个基于和的谷歌登录。我找不到一个标准的工作示例,说明如何在Flutter中模拟依赖项,或者如何单击googleauthentication对话框或绕过整个验证工作流 我正在使用flatter\u驱动程序来编写这里提到的集成测试 app_test.dart import 'package:flutter_driver/driver_extension.dart'; import 'package:pruoo_app/main.dart' as app;

我正在写一个Flutter应用程序,它只有一个基于和的谷歌登录。我找不到一个标准的工作示例,说明如何在Flutter中模拟依赖项,或者如何单击googleauthentication对话框或绕过整个验证工作流

我正在使用
flatter\u驱动程序
来编写这里提到的集成测试

app_test.dart

import 'package:flutter_driver/driver_extension.dart';
import 'package:pruoo_app/main.dart' as app;

void main() {
  enableFlutterDriverExtension();
  app.main();
}
login.dart

//...imports

class LoginView extends StatefulWidget {
  @override
  _LoginViewState createState() => _LoginViewState();
}

class _LoginViewState extends State<LoginView> {
  StreamSubscription<AuthenticationState> x;

  void getStream(AuthenticationState state, BuildContext context) async {
    if (state.toString() == 'AuthenticationAuthenticated') {
      print("Navigate to Main Page");
      );
  }
}

  Widget build(BuildContext context) {
    final AuthenticationBloc authenticationBloc =
        BlocProvider.of<AuthenticationBloc>(context);

    x = authenticationBloc.state.listen((state) {
      getStream(state, context);
    });

    return Scaffold(
        body: Center(
            child: GoogleSignInButton(
          onPressed: () {
            authenticationBloc.dispatch(LoggedIn());
          },
        )));
  }
}

/…导入
类LoginView扩展StatefulWidget{
@凌驾
_LoginViewState createState()=>_LoginViewState();
}
类_LoginViewState扩展状态{
streamx;
void getStream(AuthenticationState,BuildContext上下文)异步{
if(state.toString()==“AuthenticationAuthenticated”){
打印(“导航到主页”);
);
}
}
小部件构建(构建上下文){
最终身份验证Bloc身份验证Bloc=
(上下文)的BlocProvider;
x=authenticationBloc.state.listen((状态){
getStream(状态、上下文);
});
返回脚手架(
正文:中(
孩子:谷歌签名按钮(
已按下:(){
authenticationBloc.dispatch(LoggedIn());
},
)));
}
}
一个相关的颤振问题: