我了解 package:unittest / unittest.dart 已弃用,新软件包为 package:test / test.dart 。
新 test.dart 中的库 package:unittest / html_config.dart 和 useHtmlConfiguration()功能相当于框架。
感谢。
注意:我正在阅读一本过时的书(" Dart in Action")。到目前为止,我已经能够将弃用的部件与Dart的新标准部件相匹配。 现在除了我正在阅读单元测试部分。
.
├── PackList.dart
├── PackList.html
├── pubspec.lock
├── pubspec.yaml
├── styles.css
└── test
├── PackList_test.dart
└── PackList_test.html
我正在尝试检查构造函数返回的值是否为NULL。
import "package:test/test.dart";
import "../PackList.dart" as packListApp;
main() {
test("PackItem constructor", () {
var item = new packListApp.PackItem("Towel");
expect(item, isNotNull);
});
}
源代码有效。
这只是了解测试框架如何工作的一个例外。
我希望 item 成为新对象。
在 var item = new packListApp.PackItem(" Towel")之后初始化此属性;
print(packItem.uiElement); //Towel
print(packItem.itemText); //div
问题是我不知道如何将我的源代码的 html 部分与测试相关联。
当我运行此测试时,我遇到了这个错误。
pub run test
00:00 +0 -1: loading test/PackList_test.dart [E]
Failed to load "test/PackList_test.dart":
Unable to spawn isolate: The built-in library 'dart:html' is not available on the stand-alone VM.
PackList.dart: line 1 pos 1: library handler failed
import "dart:html";
^
00:00 +0 -1: Some tests failed.
如果我添加 @TestOn(" dartium"),我收到此消息。
pub run test
No tests ran.
答案 0 :(得分:0)
pub run test
只运行VM测试。如果要运行浏览器测试,则需要明确告诉它
pub run test -pdartium
my_test.html
需要包含
<link rel="x-dart-test" href="my_test.dart">
而不是普通的Dart脚本标记