Flutter软件包URI在软件包的测试中不存在

时间:2020-06-21 07:16:28

标签: flutter dart flutter-test

Flutter项目目录中,我使用以下命令创建了一个包:

 flutter create --template=package emoji_support

完成创建程序包并完成抖动获取之后。

但是..

文件package's /test directory中的文件不能在package's /lib directory中找到文件:

import 'package:flutter_test/flutter_test.dart';已解决✅

但是...

import 'package:emoji_support/emoji_support.dart';未解决❌

enter image description here

文件结构

enter image description here

我在这里犯什么错误?

2 个答案:

答案 0 :(得分:1)

我在项目flutter_example_file_picker中使用flutter create --template=package emoji_support创建了一个包

enter image description here

然后在项目的pubspec.yaml中(而不是插件中的那个)flutter_example_file_picker > pubspec.yaml我添加到依赖项中的是程序包

dependencies:
  flutter:
    sdk: flutter
  emoji_support:
    path: ./emoji_support

问题解决了,我可以毫无问题地运行测试,也可以尝试使用相对路径而不将其添加到依赖项中并且也可以工作

enter image description here

更新

我认为我不理解如何在不将其添加到pubspec的情况下对其进行修复,当在项目内创建插件时,AndroidStudio(或VS)的flutter插件仍在主路径中起作用(请检查终端目录,它将是C:/.../ Workspace_Android \ hundreddaysofflutter>,因此它不会检测内部插件),也不会更新以检测新文件夹。即使它是红色并表示无法检测到URI。

您可以忽略它并尝试运行测试,看看它是否使用package_config.json检测到内部dart_tool,然后它将成功运行并且问题将消失。第二个选项是移动到插件所在的文件夹(在终端cd my_plugin_name_folder中,或者仅打开文件并打开插件)。

运行flutter get pub(它在第一次创建项目时自动执行,但有时在另一个项目中创建时却不执行)第一次运行包并在dart_tool中创建package_config.json (插件的dart_tool),在文件末尾,您可以看到软件包的名称和rootUri,现在您可以在测试中使用它,并且应该可以正确检测到它。有时会生成它,但是似乎它无法正确更新,即使它在那里,IDE也也不知道。

答案 1 :(得分:0)

这只是在vsCode中添加新的sub_directories时发生的问题。 只需存在并重新打开即可解决该问题。 告诉我是否可以解决。