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
Flutter 颤振测试未来抛出错误,可以';t测试异常_Flutter - Fatal编程技术网

Flutter 颤振测试未来抛出错误,可以';t测试异常

Flutter 颤振测试未来抛出错误,可以';t测试异常,flutter,Flutter,我想测试一个返回未来的函数 但是,当您传入错误参数时,它会引发异常 但是,当我运行时,我正在尝试为此编写测试 test("When a new practice is created with an empty name, an exception is thrown", () async { //arrange //act //assert expect(newUserRepository.saveUser("", "Test"), throws

我想测试一个返回未来的函数

但是,当您传入错误参数时,它会引发异常

但是,当我运行时,我正在尝试为此编写测试

test("When a new practice is created with an empty name, an exception is thrown", () async {
      //arrange
      //act
      //assert
      expect(newUserRepository.saveUser("", "Test"), throwsA(TypeMatcher<Exception>()));
    }); 
test(“当使用空名称创建新实践时,将引发异常”,()异步{
//安排
//表演
//断言
expect(newUserRepository.saveUser(“,“Test”),throwsA(TypeMatcher());
}); 
我得到以下信息

Expected: throws <Instance of 'TypeMatcher<Exception>'>
  Actual: <Instance of 'Future<void>'>
   Which: threw ?:<Exception> 
应为:抛出
实际:
哪个:扔
我能不能让它通过这次考试

我的saveUser函数

Future<void> saveUser(String username, String practiceName) async {
    if (username == null || username.isEmpty || practiceName == null || practiceName.isEmpty) {
      throw Exception("Unable to save empty username or pracice name");
    }

    var firebaseUser = await userRepository.getFirebaseUser();
    var newUser = DomainUser(userName: username, email: firebaseUser.email);
    await userRepository.saveUser(newUser);

    var newPractice = DomainPractice(users: [newUser.email], practiceName: practiceName);
    await practiceRepository.savePractice(newPractice);
    return;
  } 
Future-saveUser(字符串用户名、字符串实践者名称)异步{
if(username==null | | username.isEmpty | | practiceName==null | | practiceName.isEmpty){
抛出异常(“无法保存空用户名或pracice名称”);
}
var firebaseUser=await userRepository.getFirebaseUser();
var newUser=DomainUser(用户名:用户名,电子邮件:firebaseUser.email);
等待userRepository.saveUser(newUser);
var newPractice=DomainPractice(用户:[newUser.email],practiceName:practiceName);
等待实践假设。保存实践(新实践);
返回;
} 

能否将newUserRepository.saveUser()的代码与函数一起更新