微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

启用NNBD实验后如何运行Dart测试

如何解决启用NNBD实验后如何运行Dart测试

我刚刚更新到最新的dart-beta版本(2.11.0-213.5.beta),并升级了我的依赖项以使用null safety版本:

dev_dependencies:
  pedantic: ^1.10.0-nullsafety
  test: ^1.16.0-nullsafety

正确注释所有类型以使用NNBD后,我可以成功运行dart analyze .

现在,我根本无法运行测试,因为test命令似乎尚未接受标记--enable-experiment=non-nullable

我可以以dart --enable-experiment=non-nullable example/actors_example.dart好的方式运行我的包示例。

如何让测试运行者使用NNBD,以便我可以运行测试?

解决方法

Dart世界中的事物快速发展。看起来带有NNBD的测试程序包在beta通道中不再起作用,它只能在最新,最热门的dev通道中正常工作。

手动下载dev channel SDK(似乎未在Brew上发布)并再次升级依赖项之后,我就可以为NNBD准备好程序包并运行正常了!

自2020年11月起,我的SDK版本约束如下:

environment:
  sdk: ">=2.12.0-13.0.dev <2.13.0"

当我运行dart --version时,我看到以下内容:

Dart SDK version: 2.12.0-13.0.dev (dev) (Mon Nov 2 15:57:37 2020 -0800) on "macos_x64"

升级的依赖项:

dev_dependencies:
  pedantic: ^1.10.0-nullsafety.3
  test: ^1.16.0-nullsafety.9

现在,由于Dart 2.12将所有Dart工具统一到dart命令中,因此我使用以下命令运行测试:

dart test

代替原来的pub run test。一切都很好,再次工作。

迫不及待想让NNBD成为稳定的Dart !!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。