VS Code 无法识别 Flutter 中的单元测试

Posted

技术标签:

【中文标题】VS Code 无法识别 Flutter 中的单元测试【英文标题】:VS Code does not recognize unit tests in Flutter 【发布时间】:2019-07-12 16:09:07 【问题描述】:

Visual Studio Code 无法识别在 group(...) 中分组的单元测试。但它识别未分组的单元测试。我的意思是他们是独立的test(...)。我想使用组,因为我需要setUp()

group上方有Run | Debug链接。当我单击调试或运行时,调试控制台显示 No tests match regular expression "^LocalRepository$".

使用flutter test 命令可以正确运行测试。

Dart SDK:>=2.1.0

Flutter 频道:master

编辑:我找到了解决方法 - 我只是不使用 group 回调。但是我无法通过单击group 上方的Run 来运行所有测试。

【问题讨论】:

【参考方案1】:

确保您将测试文件命名为以_test.dart 结尾,您将看到运行 |调试选项

【讨论】:

【参考方案2】:

我有一个 Flutter 项目,其中包含两个单独的测试文件,均以“..._test.dart”结尾。

使用以下两个测试场景,其中一个文件通过,而第二个文件未加载并且该测试失败。

使用launch.json配置:


 "name": "Dart: Run all Tests",
 "request": "launch",
 "type": "dart",
 "program": "./test/"

使用 VS Code 菜单项 Debug > Start Debugging (F5),我怀疑它只是使用了上面的 launch.json 配置,会产生相同的结果。

但是,使用 VS Code 菜单项 Debug > Start Without Debugging (Ctrl+F5) 或命令行中的“flutter test”,两个测试都通过了。

我怀疑这是 VS Code Dart/Flutter 扩展的内部配置问题,而不是 Dart/Flutter 代码结构的问题。

【讨论】:

【参考方案3】:

您的测试/组是否分布在多个文件中? VS Code 扩展与您可能遇到的测试包之间的集成存在一些限制。

在 v2.23 中有 a fix(在您提出问题的前几天发布)应该对此有所改进(在某些地方删除那些运行/调试链接,但如果您已经在那么那个版本可能没有涵盖你的情况。

如果您可以发布一个小型复制 on GitHub 我肯定想看看我是否可以改进这一点。谢谢!

【讨论】:

以上是关于VS Code 无法识别 Flutter 中的单元测试的主要内容,如果未能解决你的问题,请参考以下文章

在 VS Code 上运行 Flask 应用程序时无法识别 launch.json 中的环境变量

没有用于包装在 VS Code 中的 Flutter Widget 菜单

调试时 Flutter VS Code 中的热重启(以前是完全重启)

Flutter 无法在 VS Code 上构建示例 iOS 应用程序

自动热重启和重新加载停止发生 - Flutter/VS Code

VS Code Python安装和Python解释器无法识别