使用 Dart Milestone 4 版本 21658
我是 Dart 新手。我创建了一个类。我想对其进行单元测试。类和单元测试都位于使用 Dart 编辑器创建的同一个 Dart 项目中。我不知道如何让单元测试看到我的类(class)。我怎样才能做到这一点?
项目名称: DartExp
目录结构:
src/foo.dart
test/foo_test.dart
文件内容:
--- foo.dart 开始 ----
//library foo;
class Foo
{
String bar;
}
--- foo.dart 结束 ----
--- foo.dart 开始 ----
import 'package:unittest/unittest.dart';
import 'package:DartExp/foo.dart';
import 'DartExp/foo.dart';
import 'foo.dart';
import 'src/foo.dart';
import 'package:src/foo.dart';
main() {
test('test Foo', () {
Foo foo;
//expect(1,1);
});
}
--- foo.dart 结束 ----
我尝试过的事情:
在 Dart 编辑器中的 foo_test.dart 文件中,我导入 foo.dart 的所有尝试都被标记为错误,因为“...is not valid uri”。编辑还说 Foo 类未定义。 删除所有 foo.dart import 语句也不起作用。 将 foo.dart 制作成库也不起作用。
Dart import 语句的文档似乎没有给出此常见用例的任何示例。
那么,如何将类导入到 Dart 的单元测试中?
最佳答案
Dart 使用 Pub package manager用于依赖管理,并且有一个特定的建议包布局,您可以阅读 on the Pub website .
试试这个并运行pub install
。
目录结构:
pubspec.yaml
lib/foo.dart
test/foo_test.dart
pubspec.yaml
name: my_package
description: description
dev_dependencies:
unittest: any
lib/foo.dart:
library foo;
class Foo {
}
测试/foo_test.dart:
import 'package:unittest/unittest.dart';
import 'package:foo/foo.dart';
main() {
test('test Foo', () {
Foo foo;
});
}
package:
URL 是从 Pub 创建的 packages
目录解析的。为了更好地理解这一点,请在运行 pub install
后查看 packages
目录的内容。
所以这个:
import 'package:[package-name]/[file].dart';
导入名为[package-name]
的包中的库,并在该包的lib
文件夹中名为[file]的文件中找到该库].dart
。 (注意:一个包可以有多个库。)
关于dart - 如何在单元测试中访问 Dart 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16138105/