我正在编写一些DART库,并希望对其进行单元测试.我创建了目录test,并希望将我的测试放在这里.因为我将有很多测试,所以我希望将它们分离到多个文件中.我的问题是,什么是DART会议,如何做到这一点.我希望我的测试可以轻松地运行所有测试,但是,我也希望能够只运行一个测试文件.

你有什么建议?

推荐答案

将测试分为多个文件是很常见的.我举了一个例子来说明如何做到这一点.

假设你有两个测试文件,foo_test.dart ,巴鲁测试.包含程序测试的dart.福尤测试.dart可能看起来像这样:

library foo_test;

import 'package:unittest/unittest.dart';

void main() {
  test('foo test', () {
    expect("foo".length, equals(3));
  });
}

而bar_test.dart可能如下所示:

library bar_test;

import 'package:unittest/unittest.dart';

void main() {
  test('bar test', () {
    expect("bar".length, equals(3));
  });
}

您可以运行任一文件,该文件中包含的测试将执行.

最后,我会创建一个类似all_测试的东西.dart文件,该文件将从foo_测试导入测试.dart 和巴鲁测试.飞奔以下是所有的测试.dart可能看起来像:

import 'foo_test.dart' as foo_test;
import 'bar_test.dart' as bar_test;

void main() {
  foo_test.main();
  bar_test.main();
}

如果执行all_tests.dart,那么foo_test.dart和bar_test.dart中的测试都将执行.

需要注意的一点是:为了让所有这些都起作用,您需要声明foo_测试.dart 和巴鲁测试.dart作为库(参见每个文件的第一行).然后,在所有的测试中.dart,您可以使用导入语法来获取声明库的内容.

这就是我组织大部分考试的方式.

Dart相关问答推荐

DART列表由以奇怪方式链接的列表(即二维数组)组成

如何找到这个Currate函数的返回类型?

Dart StreamController().stream 等于 == 但不相同

数字到字符串的转换在 Dart 中总是不变的(即没有文化)?

停止在缓存中保存 Flutter Web Firebase 托管

如何在 Dart 中将代码迁移到 null 安全

如何在 Flutter 中向 AnimationController 添加 Curves 类动画?

AngularDart 可以直接路由到组件吗?

如何在 Flutter 中忽略整个文件的 lint 规则?

Flutter-创建一个倒计时(countdown)小部件

属性 'docs' 不能无条件访问,因为接收到的可能是 'null' Flutter

为什么这个文件会自动创建自己 generate_plugin_registrant.dart

错误:无法调用需要 const 表达式的非const构造函数

用 dart 解析日期

谷歌的 Dart 编程语言的作用是什么?

Dart:将map转换为查询字符串

在 Dart 中,将动态转换为给定类型或返回 null 的语法好方法?

使用 Dart 将 Uint8List 转换为字符串

判断 datetime 变量是今天、明天还是昨天

是否可以在 Dart 中的一行上初始化列表?