Dart 的 Expect 发生了什么?

Nei*_*ser 1 dart

我维护的一些 Dart 代码使用 Expect.equals、Expect.isTrue 等。Expect 似乎不再是 Dart 的一部分。变更日志中没有提及它的消失。问题:

  1. 当出现这样的重大变化时,我应该去哪里寻找?
  2. 在过去的五年里,每年我的所有 Dart 应用程序都会由于核心语言的更改(例如字符串连接被删除或 dart:uri 消失)而停止编译。Dart 程序员如何处理这个问题?

lrn*_*lrn 5

该类仍然存在于Dart 存储库目录Expect中的“expect”包中。pkg/expect它是作为 Dart 项目的内部测试工具而构建的,并且从未在 pub 上发布过。该类是dart:coreDart 1.0 版本之前的一部分,并于 2013 年 4 月被删除(commit)被删除,这早于变更日志。

它是一个故意简单的帮助程序包,因为它用于测试语言和平台本身。平台中的错误可能会导致测试包失败并隐藏错误,因此测试框架使用的功能越少,平台测试就越值得信赖。Expect 包中有几个部分专门用于测试 Dart 实现(dart2js 使用的一些注释)。

当您不构建 Dart 平台时,您应该能够使用测试包。它具有更多的功能和更好的可用性,您不必担心它因为您向平台引入错误而无法工作。

如果您想使用expect包,您仍然可以(它是开源的),但它不适合或不支持最终用户。