单元测试 – 依赖于html的库中的Dart单元测试类

单元测试 – 依赖于html的库中的Dart单元测试类,第1张

概述我有一个使用CanvasElement的库,因此依赖于dart:html.现在我正在尝试为同一个库编写单元测试.但是,尝试运行它时出现以下错误: The built-in library 'dart:html' is not available on the stand-alone VM. 以下是我的测试文件的样子: library PiflexUmlTest;import 'package: 我有一个使用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',() {    ...  });}

也许你的用例有点过分,但仍然是一个解决方案.

编辑
还有一个关于这个问题的讨论:
https://groups.google.com/a/dartlang.org/forum/#!topic/misc/pacB66gnVcg

总结

以上是内存溢出为你收集整理的单元测试 – 依赖于html的库中的Dart单元测试类全部内容,希望文章能够帮你解决单元测试 – 依赖于html的库中的Dart单元测试类所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1138868.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存