flutter - 具有 null 安全性的 Flutter mockito 引发 Null 类型错误
问题描述
我一直在关注关于模拟的官方文档一段时间后遇到这个问题。
此测试在运行时会引发错误type 'Null' is not a subtype of type 'String'
当我从 更改String
为 时String?
,getString()
它过去了,我不明白为什么。我无意让该函数为空,所以我不需要让它可以为空。
解决方案
如果您使用的是 mockito 空安全性,则必须在那里执行:
- 您需要在 main() 之前添加 @GenerateMocks(["M"]),其中“M”将是您要创建 Mock 的类的名称,并且您必须删除 'class MMock extends Mock implements M'
@GenerateMocks(["M"])
void main() {....}
然后你需要导入“import package:mockito/annotations.dart';”
接下来你必须在你的开发依赖中安装'build_runner:^1.11.0',最后你必须运行命令:“flutter pub run build_runner build”,这将创建一个你必须使用的Mock文件而不是MMock,名称将是“Mockclassname”
您可以在此链接中了解更多信息: https ://github.com/dart-lang/mockito/blob/master/NULL_SAFETY_README.md
或此视频(西班牙语) https://www.youtube.com/watch?v=nWs3gfYF5u8
推荐阅读
- laravel - Laravel Vapor - 在公共开发数据库上创建用户失败并出现错误:需要跳转框
- group-by - Sybase SQL - 选择最近的记录并与上一条记录中的值对齐
- excel - AdvancedFilter 在 Excel VBA 中排除多个条件
- postgresql - CALL 执行事务控制语句
- php - 在 laravel 中创建数据表时出现错误
- php - 传递给 PHP WordPress body_class 的 URL 参数值
- java - 反序列化可以包含多种类型的数组
- struct - 在 Rust 中将结构作为参数传递
- ios - 如何改进我的 cellForRowAt 功能?
- javascript - ReactDOM.render(Array, DivContext) 只工作一次