我正在做一个Flutter 项目,试图找到最好的方法来组织我的测试.通常,我会将测试 struct 化,以反映正在测试的主项目的目录 struct .

lib
 |models
 |providers
   |userprovider.dart
test
 lib
   |models
   |providers
     |userproviderShould.dart  

但是,我很难弄清楚这种方法对于DART代码是否不是最优的.测试项目中的每个文件似乎都需要一个main方法,这感觉很奇怪.我也不清楚如何运行整个测试套件.Flutter 测试运行(flutter test)似乎不理解目录.运行flutter test test/lib/providers不起作用,而运行flutter test test/lib/providers/userproviderShould.dart起作用.如果它不理解目录,那么它肯定不理解必须递归到目录中.

有没有一种方法可以解决这个问题,既不需要构建一个脆弱的入口点来手动包含所有的睡觉测试,也不需要编写一个shell脚本来单独运行每个文件?

推荐答案

如果希望flutter testpub run test在不手动将其路径作为参数传递给命令的情况下执行文件,则该文件必须:

  • /test文件夹内
  • 其名称必须以_test.dart为后缀

没有此_test的任何内容都不会由命令行执行.

Flutter相关问答推荐

实现Popscope在按下返回按钮两次后退出应用程序

自动测试Flutter应用程序进行QA的最佳方法是什么?

Dexing时出错.将Flutter 升级到3.19.0后

本机调试符号包含无效的目录调试符号.目前仅支持Android ABI

在Flutter 中实现中小型应用程序栏标题

有没有什么方法可以加快在Flutter 中加载Quill HTML编辑器的速度?

来自FirebaseAuth的错误DisplayName和邮箱在Flutter应用程序中给出错误

我如何在Android 13中通过Flutter应用程序打开文件(不是图像、视频或音频)?

如何在点击查看措辞下方添加句子?

Flutter - Riverpod 2.0 - 如何访问 onDispose 回调?

无法应用插件com.chaquo.python

在Flutter中为容器实现线性渐变背景动画

如何在向下滚动时隐藏顶部卡片并在向上滚动时出现?

通过点击缩略图加载全屏图像

我在弹出框中编辑后无法保存日期

我正在try 使用 Firebase 在 Flutter 中使用 Google 注销,但它不起作用

如何在手势检测器中获得涟漪效应

如何获取 android 和 Ios (flutter) 的 CircularProgress 指示器?

如何在 ListView.builder 中扩展文本?

Flutter Desktop,如何获取windows用户配置文件名称?