我正在使用此snippet来读取单元测试中的数据文件:
var file = new File('/Users/chambery/projects/Foo/src/resources/skills.yaml');
Future<String> finishedReading = file.readAsString();
finishedReading.then((text) {
print(text);
print(loadYaml(text));
});
在Dart编辑器中运行我没有错误(但没有打印输出),
...
PASS: calc_ranks
PASS: load_skills
All 7 tests passed.
unittest-suite-success
(编辑:删除命令行错误; dart vm已过期)
我不需要异步文件读取。
答案 0 :(得分:2)
我猜你不告诉unittest框架你的测试是异步的。因此,框架不会等待您的异步测试完成并假设它们已通过。
使用expectAsyncX
(其中“X”是参数的数量)以确保框架等待异步测试完成。
请参阅unittest文档:https://api.dartlang.org/docs/channels/stable/latest/unittest.html
如果您正在处理期货,您也可以使用expect(future, completes)
。