Dart异步单元测试

Dart异步单元测试,dart,Dart,我正在尝试将以下Node.js测试转换为Dart: var fs=要求“fs”; exports.asyncTest=functiontest{ fs.stat'test.txt',functionerr,stats{ 试验2; test.qualer,空; 试验尺寸,0; 测试完成; } }; 到目前为止,我已经: 导入“包:unittest/unittest.dart”; 导入“dart:io”; 主要{ 测试“文件不为空”{ var stats=新文件'test.txt'.length.t

我正在尝试将以下Node.js测试转换为Dart:

var fs=要求“fs”; exports.asyncTest=functiontest{ fs.stat'test.txt',functionerr,stats{ 试验2; test.qualer,空; 试验尺寸,0; 测试完成; } }; 到目前为止,我已经:

导入“包:unittest/unittest.dart”; 导入“dart:io”; 主要{ 测试“文件不为空”{ var stats=新文件'test.txt'.length.then 预期异步1V{ 期望值,不是0; }; }; }
这是可行的,但如果找不到文件,我希望测试失败,而不是终止。这是如何实现的?

您可以在文件中使用exists方法。 File.exists返回一个未来,所以请执行以下操作

主要{ 测试“文件存在且不为空”{ var f=新文件'test.txt'; f、 存在0.1V{ 期待,真实; 如果v f、 length.thenexpectAsync1l=>expectl,不为0; }; }; } 当然,如果把它分成两个测试,它会漂亮得多。存在一个文件,并且该文件不是空的,只有在第一个文件通过时,才运行后一个文件。
但是我还没有对unittest库进行足够的研究,以了解如何使测试相互依赖。

您可以使用文件中的exists方法。 File.exists返回一个未来,所以请执行以下操作

主要{ 测试“文件存在且不为空”{ var f=新文件'test.txt'; f、 存在0.1V{ 期待,真实; 如果v f、 length.thenexpectAsync1l=>expectl,不为0; }; }; } 当然,如果把它分成两个测试,它会漂亮得多。存在一个文件,并且该文件不是空的,只有在第一个文件通过时,才运行后一个文件。
但是我对unittest库的了解还不够,无法了解如何使测试相互依赖。

谢谢。我还将研究如何在Dart中编写依赖测试。我应该注意,如果您正在编写不需要在HTTP请求上下文中执行的文件代码,那么还有一个file.existsSync。也就是说,如果不需要异步,可以使用existsSyncThanks来实现。我还将研究如何在Dart中编写依赖测试。我应该注意,如果您正在编写不需要在HTTP请求上下文中执行的文件代码,那么还有一个file.existsSync。也就是说,如果不需要异步,可以使用existsSync