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

时间:2019-02-19 08:09:07

标签: unit-testing dart visual-studio-code flutter

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

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

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

Dart SDK:> = 2.1.0 <3.0.0

颤振通道:主控

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

3 个答案:

答案 0 :(得分:0)

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

v2.23中的a fix(在您提出问题的几天前发布)应该对此有所改善(在某些地方删除了那些Run / Debug链接不会起作用),但是如果您已经在该版本上,那么也许它没有涵盖您的情况。

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

我有一个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)或命令行中的“颤振测试”,两项测试均通过。

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