【发布时间】:2018-11-29 13:58:21
【问题描述】:
我尝试在 Dart 中使用 Flutter 为应用程序的业务逻辑进行测试驱动开发 (TDD)。对于快速 TDD 周期,运行测试的启动时间感觉有点慢。在我的机器上大约需要 4-5 秒。
我使用的是package:test/test.dart,因此无需将应用程序部署到设备上,并且可以在 Dart VM 上本地运行测试。测试本身运行得很快。
在使用 Java 的 JUnit 和本地 Java VM 开发 Android 原生应用时,启动时间要快得多
有没有办法让 Dart 中的单元测试启动时间也这么快? (无需购买速度更快的物理机)。
编辑: 我的 Dart 版本:
- Flutter 医生 -v: 2.0.0-dev.54.0.flutter-46ab040e58
- Dart 插件使用: 2.0.0-edge.c080951d45e79cd25df98036c4be835b284a269c 并且在我的颤振安装中:C:\flutter\bin\cache\dart-sdk
Dart 测试位于 Flutter 项目中。我通过右键单击带有测试的文件在 Android Studio 中启动 Dart 测试,或者仅使用 IDE 中的“>”运行测试按钮。然后 Android Studio 会生成一个运行配置,因此我可以使用键盘快捷键快速启动它。
【问题讨论】:
-
你是如何运行测试的?您描述的似乎与 Flutter 无关。也许你正在编写存储在 Flutter 项目中的 Dart 测试。我假设你使用的是
pub run test,对吧? -
你使用的是什么 Dart 版本?
-
如果你使用上下文菜单,这取决于你使用
pub run test或flutter test时IntelliJ Dart插件设置中的Dart SDK path指向什么Dart SDK。 -
很高兴知道。但这意味着它使用
flutter test。我不知道如何让它更快,但我很确定 Dart 团队会在这方面努力工作。从 Dart 1 到 Dart 2,编译器工具链发生了很大变化,在 Dart 2 功能稳定后,他们将花更多时间在性能优化上。 Dart 成员在 GitHub 问题 cmets 上多次提到还有很大的改进空间。 -
我确信他们正在努力,并且会在 Dart 2 发布后继续改进。为 Dart 2 重建了整个解析器-编译器工具链。首先他们关注功能完整性,然后关注性能。
标签: unit-testing dart tdd flutter