Dart单元测试
  1. Dart 单元测试
Dart 单元测试

Last updated by Yarco on Sun, 22 Sep 2019 02:47:01 +0000

Links: https://pub.dev/packages/test

模版

import "package:test/test.dart";

main() {
	setUp(() async {
		// ...
		// codes
		// ...
	});

	tearDown(() async {
		// ...
		// codes
		// ...
	});

	group('<Description>', () {
		test('<Description>', () {
			// ...
			// codes
			// ...
			expect(<Result>, <Matcher>(<Expect Value>));
			// 例如:
			expect("16", equals("16"));
			expect("foo,bar,baz", allOf([
				contains("foo"),
				isNot(startsWith("bar")),
				endsWith("baz")
			]));
		});
		
		// ...
		// more tests
		// ...
	});
}

其中:

  • setUp, tearDown对所有test有效
  • group: 是optional的

运行

运行单元测试的命令是: pub run test <file> or pub run test <dir>. 所有以 _test.dart 结尾的都会被当成测试代码.

配置

  • @TestOn: 测试可运行的平台, 比如vm, chrome
  • @Skip: 跳过测试, skip参数也出现在group/test里
  • @Timeout: 设置过期时间(默认30秒), timeout参数类似skip
  • @OnPlatform: 平台相关设置, 参考this
  • @Tags: 用来过滤, 参考this

全局设置

根目录下, dart_test.yaml 为全局配置文件. 参考this.

comments powered by Disqus