unit-testing - 在 AOT/release 或配置文件模式下运行 flutter/dart 测试?

标签 unit-testing testing flutter dart

如果我理解正确,默认情况下 flutter test 将在 Dart VM 上使用 JIT 运行,而 Release模式使用 AOT 编译器生成本地代码。 我(认为)有一个只发生在 AOT 模式(发布和配置文件)的崩溃,当我可以通过在 AOT/配置文件模式下运行代码来隔离它时,调试和重现它会更容易。

那么如何在 AOT 模式下运行测试(或至少运行代码片段)? (我真的不在乎它是在实际的 iOS 或 Android 设备上运行,还是在开发机器或模拟器上执行。

(我已经找到了 an article which seems to describe the compilation process ,但是涉及到很多。有没有更简单的测试方法?)

最佳答案

我找到了一个相当简单的解决方案,即 documented on the dart website .从 Dart 2.3 开始,SDK 捆绑了 dart2aotdartaotruntime。这允许简单的执行,并且我能够重现我的崩溃。

Herbys-MacBook-Pro-2017:migrate$ dart2aot migrate_aot_test.dart migrate_aot_test.dart.aot
Herbys-MacBook-Pro-2017:migrate$ dartaotruntime migrate_aot_test.dart.aot
[...]

===== CRASH =====
si_signo=Segmentation fault: 11(11), si_code=1, si_addr=0x1061000410f
Abort trap: 6
Herbys-MacBook-Pro-2017:migrate$

关于unit-testing - 在 AOT/release 或配置文件模式下运行 flutter/dart 测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57215822/

相关文章:

c - 如何在 C 中模拟套接字

flutter - 在容器 flutter 处制作渐变效果,

python - 如何手动/针对其他数据库运行 django TestCase?

unit-testing - 测试后端 api 端点是否被视为单元测试?

delphi - 如何保持多个项目的使用列表相同

flutter - 有什么方法可以在应用程序中打开 URL 而不是在浏览器中打开 URL?

flutter - Stream Provider 使用自定义模型类监听 firestore 实时变化

android - 使用 Dagger 2 在单元测试中进行字段注入(inject)

unit-testing - 你会把这个(来自书 "Code Complete")称为单元测试、集成测试或其他什么吗?

ios - 从命令行自动执行 iOS monotuch GUI 测试