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 应用程序