单元测试 – 依赖于html的库中的Dart单元测试类
发布时间:2020-12-14 18:35:34 所属栏目:资源 来源:网络整理
导读:我有一个使用CanvasElement的库,因此依赖于dart:html.现在我正在尝试为同一个库编写单元测试.但是,尝试运行它时出现以下错误: The built-in library 'dart:html' is not available on the stand-alone VM. 以下是我的测试文件的样子: library PiflexUmlTe
我有一个使用CanvasElement的库,因此依赖于dart:html.现在我正在尝试为同一个库编写单元测试.但是,尝试运行它时出现以下错误:
The built-in library 'dart:html' is not available on the stand-alone VM. 以下是我的测试文件的样子: library PiflexUmlTest; import 'package:PiflexUml/lib.dart'; import 'package:unittest/unittest.dart'; part 'src/geometry/vector_test.dart'; main () { testVector(); } 我知道它失败了,因为lib.dart文件中的库本身有一行说明: library PiflexUml; // .... import 'dart:html'; part "blahblah.dart"; part "something_else.dart" // .... 尽管库本身依赖于它,但我并不是要测试一个与HTML有关的类. 我的解决方案是什么?有没有办法只导入我要测试的类而不导入整个lib?或者我是否必须将我的lib拆分为依赖于html的部分和非依赖html的部分? 解决方法
您可以使用content_shell(无头浏览器)运行基于浏览器的单元测试.
DartEditor安装到的文件夹(darteditor / chromium / download_contentshell.sh)包含一个脚本文件,用于下载包含content_shell的部件. 您需要一个由content_shell运行并运行测试的HTML文件. HTML文件可能看起来像 <!doctype html> <html> <body> <script src="packages/unittest/test_controller.js"></script> <script type="application/dart" src="browser_tests.dart"></script> <!-- your unit tests --> <script src="packages/browser/dart.js"></script> </body> </html> 飞镖单元测试 import 'package:unittest/unittest.dart'; import 'package:unittest/html_config.dart'; main() { useHtmlConfiguration(); test('test scope',() { ... }); } 也许你的用例有点过分,但仍然是一个解决方案. 编辑 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |