依赖于 dart:html 的单元测试代码

Unit testing code that depends on dart:html

我正在尝试对导入 dart:html 的一段代码编写单元测试,结果我得到了一个使用 useHtmlConfiguration();

的测试 class

我真的必须这样做吗?因为似乎每次我 运行 我的测试,它 运行 在浏览器中,dart2js 被调用并且比我用 dartVM 测试花费的时间长得多。我用 Dartium 试了一下,它也重新编译了。

事实上,我的代码使用 dart:html 的唯一原因是因为它在包中使用了 HttpRequest。最后我可能只是在 class 前面放置一个接口来执行 http 请求并模拟它,但我想知道是否有一种有效的方法来获得良好的(快速阅读)反馈循环而无需每次我想 运行 我的测试时调用 dart2js?

如果你的代码导入了dart:html代码并且还测试了导入这段代码只能在浏览器中运行。

不知道为什么叫dart2js。您可以 运行 在 Dartium 或 content_shell --dump-render-tree(无头 Dartium)中作为 Dart 代码进行测试,而无需先转译为 JS。

您可能更喜欢使用 http 包,它具有一些 HttpRequest 的抽象,应该在客户端和服务器上使用(我自己还没有这样测试过)。