0

我的测试在测试文件主函数的第 1 行初始化了小部件绑定

TestWidgetsFlutterBinding.ensureInitialized();

由于它具有上述行,因此使用网络请求在测试文件夹外测试 bloc/some function/repository 将引发 http 错误。所以补充说:

HttpOverrides.global = null;

很少有 http 请求在 try catch 块中,该块处理带有错误代码 101 的 SocketException,即设备处于脱机或已连接且没有活动的 Internet 连接且无法访问服务器。

上面的覆盖删除了所有 httpexceptions,但我喜欢用代码 101 捕获 SocketException。有没有其他方法来处理上述情况?

概括:

  1. 运行小部件测试
  2. 在我们的测试文件夹/文件之外使用 http 请求运行函数/类/块
  3. 覆盖案例 2 的 http 错误代码 400,但如果它在 try catch bloc 内,则允许捕获其他异常,并使测试在应用程序中正常运行(如颤动运行)。
4

0 回答 0