gpt4 book ai didi

dart - 如何在多个文件中用dart编写多个单元测试?

转载 作者:行者123 更新时间:2023-12-04 01:54:27 25 4
gpt4 key购买 nike

我正在编写一些Dart库,并希望对其进行单元测试。我创建了test目录,并希望将测试放在这里。因为我要进行很多测试,所以我想将它们分离到多个文件中。我的问题是,什么是Dart约定,如何做到这一点。我想让我的测试轻松运行所有程序,但是,我也希望仅能运行一个文件测试。

您有什么建议?

最佳答案

通常将测试分为多个文件。我提供了一个有关如何执行此操作的示例。

想象一下,您有2个包含测试的文件foo_test.dart,bar_test.dart,其中包含针对程序的测试。 foo_test.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_tests.dart文件的文件,该文件将从foo_test.dart和bar_test.dart导入测试。这是all_tests.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_test.dart和bar_test.dart声明为库(请参见每个文件的第一行)。然后,在all_tests.dart中,可以使用导入语法来获取已声明的库的内容。

这就是我组织大多数测试的方式。

关于dart - 如何在多个文件中用dart编写多个单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18448079/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com