Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unit testing 颤振/飞镖中的TDD。如何缩短启动时间_Unit Testing_Dart_Tdd_Flutter - Fatal编程技术网

Unit testing 颤振/飞镖中的TDD。如何缩短启动时间

Unit testing 颤振/飞镖中的TDD。如何缩短启动时间,unit-testing,dart,tdd,flutter,Unit Testing,Dart,Tdd,Flutter,我尝试在Dart中对带有颤振的应用程序的业务逻辑进行测试驱动开发(TDD)。对于快速TDD循环,运行测试的启动时间感觉有点慢。在我的机器上大约需要4-5秒 我使用的是包:test/test.dart,因此无需将应用程序部署到设备上,测试可以在dart虚拟机上本地运行。测试本身运行得很快 使用Java的JUnit和本地Java虚拟机开发Android本机应用程序时,启动时间要快得多”运行测试按钮来启动Dart测试。Android Studio然后生成一个运行配置,这样我就可以用键盘快捷键快速启动它

我尝试在Dart中对带有颤振的应用程序的业务逻辑进行测试驱动开发(TDD)。对于快速TDD循环,运行测试的启动时间感觉有点慢。在我的机器上大约需要4-5秒

我使用的是
包:test/test.dart
,因此无需将应用程序部署到设备上,测试可以在dart虚拟机上本地运行。测试本身运行得很快

使用Java的JUnit和本地Java虚拟机开发Android本机应用程序时,启动时间要快得多<1秒

有没有办法让Dart中的单元测试启动时间也这么快?(无需购买速度更快的物理机器)

编辑: 我的飞镖版本:

  • 颤振博士-v:2.0.0-dev.54.0.颤振-46ab040e58
  • Dart插件使用: 2.0.0-edge.c080951d45e79cd25df98036c4be835b284a269c并在我的颤振安装中:C:\颤振\bin\cache\dart sdk
Dart测试在颤振项目中进行。我在Android Studio中通过右键单击带有测试的文件或只使用IDE中的“>”运行测试按钮来启动Dart测试。Android Studio然后生成一个运行配置,这样我就可以用键盘快捷键快速启动它


最近,我尝试运行一个示例测试(使用颤振演示应用程序),通过终端运行<代码>颤振测试会立即初始化测试

然而,当测试通过UI运行时,我得到了类似的启动时间(大约4秒)

我试着深入研究设置,但似乎没有任何配置可以修改,使测试的初始化速度比目前更快

这是我的颤振医生供参考

[✓] Flutter (Channel master, 1.26.0-2.0.pre.281, on macOS 11.1 20C69 darwin-x64)
    • Flutter version 1.26.0-2.0.pre.281
    • Framework revision 4d5db88998 (2 weeks ago), 2021-01-11 10:29:26 -0800
    • Engine revision d5cacaa3a6
    • Dart version 2.12.0 (build 2.12.0-211.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Platform android-30, build-tools 29.0.2
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 12.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.0.1, Build version 12A7300
    • CocoaPods version 1.10.0

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      This method works perfectly for me:

1. flutter run --profile --cache-sksl

2. Press M at the command line of flutter run to write the captured SkSL shaders into a file named something like flutter_01.sksl.json.

3. Build the app with SkSL warm-up using the following, as appropriate:

Android:
flutter build apk --bundle-sksl-path flutter_01.sksl.json
or
flutter build appbundle --bundle-sksl-path flutter_01.sksl.json

iOS:
flutter build ios --bundle-sksl-path flutter_01.sksl.json

For more information, visit: https://flutter.dev/docs/perf/rendering/shader
[✓] 颤振(macOS 11.1 20C69 darwin-x64上的主通道,1.26.0-2.0.pre.281)
•颤振版本1.26.0-2.0.pre.281
•框架修订版4d5db88998(两周前),2021-01-11 10:29:26-0800
•发动机版本d5cacaa3a6
•Dart版本2.12.0(版本2.12.0-211.0.dev)
[✓] Android工具链-为Android设备开发(Android SDK版本29.0.2)
•平台android-30,构建工具29.0.2
•Java二进制地址:/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/Java
•Java版本OpenJDK运行时环境(build 1.8.0_242-release-1644-b3-6915495)
•接受所有Android许可证。
[✓] Xcode-为iOS和macOS开发(Xcode 12.0.1)
•Xcode at/Applications/Xcode.app/Contents/Developer
•Xcode 12.0.1,构建版本12A7300
•CocoaPods 1.10.0版
[✓] Chrome-为web开发
•Chrome at/Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio(4.1版)
•Android Studio位于/Applications/Android Studio.app/Contents
•颤振插件可从以下位置安装:

这种方法非常适合我:


您是如何运行测试的?您所描述的内容似乎与颤振无关。也许您正在编写存储在颤振项目中的Dart测试。我假设您正在使用
发布运行测试
,对吗?您使用的是什么Dart版本?如果使用上下文菜单,则取决于IntelliJ Da中的
Dart SDK路径
rt插件设置指出,如果您使用
pub run test
flatter test
,最好能确定。但这意味着它使用
flatter test
。我不知道如何加快速度,但我很肯定Dart团队会努力工作。编译器工具链从Dart 1到Dart 2以及在D之后发生了很大变化art 2的功能是稳定的,他们会花更多的时间在性能优化上。Dart成员在GitHub问题评论中多次提到有很多改进的空间。我相信他们正在努力,并会在Dart 2发布后继续改进。整个解析器编译器工具链是为Dart 2.Fi重建的首先,他们关注的是功能完整性,然后是性能。