该flutter_test软件包能够“无头”运行 Flutter 应用程序,无需任何嵌入器。能够在相同模式下运行命令行工具(即不是测试)对我来说很有用。这可能吗?我查看了flutter_test包装,但似乎没有什么神奇的解决方案。
我尝试过的:
dart path/to/tool.dart。这会抛出Error: Not found: 'dart:ui'.flutter run path/to/tool.dart. 这将尝试将 CLI 工具作为设备(例如模拟器、桌面操作系统或 Web 浏览器)上的常规 Flutter 应用程序启动。flutter pub run path/to/tool.dart只会产生很多错误,例如"Error: 'Paint' isn't a type". 我尝试了此相关 SO Question中建议的所有方法,脚本位于不同的目录中并使用不同的调用,但没有运气。flutter test path/to/tool.dart运行代码。main()但我认为这是一个很棘手的解决方法,因为flutter test(毫不奇怪)需要进行测试,然后退出并显示错误“未找到测试”。而且,从语义上来说,这是错误的。这不是测试。这是一个工具。如果您的代码依赖于package:flutter或dart:ui,您将无法在 Flutter 引擎实例(例如,flutter_tester或 Flutter 应用程序)之外运行它dart:ui,因为 Flutter 的自定义核心库不属于 Dart 核心库。如果不删除与flutter_tester测试运行器相关的逻辑或创建您自己的 Flutter 引擎的自定义嵌入器,您将无法在命令行上无头运行 Flutter 项目。
理想情况下,您只需重构工具以使其dart:ui完全不依赖,但考虑到您的背景,我猜测您正在尝试做一些实际上需要 Flutter 框架功能的非标准操作...:-)
| 归档时间: |
|
| 查看次数: |
208 次 |
| 最近记录: |