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()的代码与函数一起更新