我正在编写一些DART库,并希望对其进行单元测试.我创建了目录test
,并希望将我的测试放在这里.因为我将有很多测试,所以我希望将它们分离到多个文件中.我的问题是,什么是DART会议,如何做到这一点.我希望我的测试可以轻松地运行所有测试,但是,我也希望能够只运行一个测试文件.
你有什么建议?
我正在编写一些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,您可以使用导入语法来获取声明库的内容.
这就是我组织大部分考试的方式.