dart - 如何在单元测试中访问 Dart 类

标签 dart

使用 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/

相关文章:

flutter - 调用 Geocoder.local.findAddressesFromCoordinates 时发生 PlatformException

dart - 将 javascript 移植到 dart

firebase - 如何在 Flutter 中构建自定义电子邮件操作处理程序以进行 Firebase 身份验证

flutter + Bloc 6.0.6。 BlocBuilder 的 "builder"回调未提供与 "buildWhen"回调相同的状态

flutter - dart中有没有一种方法可以标记调试器不会介入的方法?

Dart 程序在没有执行最后一条语句的情况下退出

dart - 使用Dart petitparser构建表达式解析器,卡在节点访问者上

dart - 异步调用值首次为NULL,从而在构建MainPage时导致断言错误(窗口小部件脏)

reflection - 基于镜子的反射和传统反射有什么区别?

flutter - 如何更改 CircularProgressIndicator 的颜色