具有零安全性的 Dart / Flutter 测试设置

Jef*_*ley 4 null unit-testing dart flutter

更新:这是一个文档错误,已修复:https : //github.com/dart-lang/test/pull/1471

根据测试包(https://pub.dev/packages/test)的文档/示例,此测试用例应该可以工作并且不会触发警告。但是它确实:

The non-nullable local variable 'b' must be assigned before it can be used.
Try giving it an initializer expression, or ensure that it's assigned on every execution path.dart(not_assigned_potentially_non_nullable_local_variable)
Run Code Online (Sandbox Code Playgroud)

将变量标记为后期作品,但我想在我提交一个错误说文档错误之前检查我没有遗漏任何东西。=)

The non-nullable local variable 'b' must be assigned before it can be used.
Try giving it an initializer expression, or ensure that it's assigned on every execution path.dart(not_assigned_potentially_non_nullable_local_variable)
Run Code Online (Sandbox Code Playgroud)

小智 7

您可以使用late关键字。
参考:https : //dart.dev/guides/language/language-tour#late-variables


Eis*_*hon 2

对于空安全,您必须专门声明变量可以为空,否则您必须初始化它。在这种情况下,您可能已经看到他们还在测试之前初始化了字符串。或者您可以使用以下方法声明变量可为空

细绳?乙;