Flutter单元测试报错“Error: Not found: 'dart:ui'”

开发环境:macOS Big Sur (11.6.2)/Flutter 2.8.1/Android Studio Atrctic Fox (2020.3.1 Patch 4)

参照 将Flutter module集成到Android项目(Android Studio Arctic Fox 2020.3.1/Flutter 2.8.1) 建立项目,在执行 Flutter 单元测试代码的时候报错

详细的错误日志如下:

但是,如果在命令行下执行:

则可以正常执行成功。

导致上述问题的原因在于,从Android Studio的单元测试菜单点击进行的单元测试,生成的配置信息没有把Flutter相关的依赖库关联起来,默认只生成了的Dart代码的测试。

解决方法就是手工创建Flutter测试用例,步骤如下图:

测试用例的执行,需要参考下图:

另外,注意如果手工创建Flutter测试用例的时候,Flutter 的测试用例跟 Dart 的测试用例名相同的情况下,删除以前的同名 Dart 测试用例,可以解决在项目测试用例上右键运行会执行 Dart 测试用例,导致上述报错的问题。

也就是如果同名了,就运行已经存在的测试用例,否则创建一个新的。

如下图配置的情况下:

可以在 widget_test.dart 上直接右击成功运行测试用例。

参考链接


How to solve Not found: 'dart:ui' error while running integration tests on Flutter