如何避免逗号 IDE 引发的 "not in ecosystem" 错误?
How can I avoid "not in ecosystem" errors thrown by comma IDE?
我模块的 t/
目录中有一个测试文件,它对 TestUtils
文件执行 use
,其中包含一些变量和例程:
use Test;
use TestUtils;
plan 4;
check_cmd_output('No arguments');
check_cmd_output('Successfully ingested', test_md_file);
check_cmd_output('Successfully ingested', test_md_file, 1);
check_cmd_output('Successfully ingested', vimwiki_arg_sim());
它工作正常。然而,Comma 抱怨 TestUtils
没有在“生态系统”中找到,并且抛出来自 TestUtils
模块的标识符错误,它没有加载:
我通过以下方式阻止了 Comma 的抱怨:
- 导出
TestUtils
文件中的标识符
- 在我的测试文件中使用以下内容完全限定标识符:
TestUtils::check_cmd_output(...)
- 将
TestUtils
添加到 META6.json 文件中的 provides
散列。
我在想可能有更好的方法。我尝试做 use lib 't'
和 use lib '.'
之类的事情,但这没有帮助。谢谢。
逗号不能完美地处理这种情况;它理解(遵循 IntelliJ 平台命名约定):
- 源根,用作解决项目中
use
语句的根(任何未解决的都假定来自模块生态系统)
- 测试根,测试文件所在的位置(例如,用于能够在
xt
目录中进行 运行 测试)
然而,这些是相互排斥的。如果 TestUtils
模块被放置在 t
内的 lib
目录中,那么 lib
目录可以被标记为源根目录,并且符号应该被解析.
我模块的 t/
目录中有一个测试文件,它对 TestUtils
文件执行 use
,其中包含一些变量和例程:
use Test;
use TestUtils;
plan 4;
check_cmd_output('No arguments');
check_cmd_output('Successfully ingested', test_md_file);
check_cmd_output('Successfully ingested', test_md_file, 1);
check_cmd_output('Successfully ingested', vimwiki_arg_sim());
它工作正常。然而,Comma 抱怨 TestUtils
没有在“生态系统”中找到,并且抛出来自 TestUtils
模块的标识符错误,它没有加载:
我通过以下方式阻止了 Comma 的抱怨:
- 导出
TestUtils
文件中的标识符 - 在我的测试文件中使用以下内容完全限定标识符:
TestUtils::check_cmd_output(...)
- 将
TestUtils
添加到 META6.json 文件中的provides
散列。
我在想可能有更好的方法。我尝试做 use lib 't'
和 use lib '.'
之类的事情,但这没有帮助。谢谢。
逗号不能完美地处理这种情况;它理解(遵循 IntelliJ 平台命名约定):
- 源根,用作解决项目中
use
语句的根(任何未解决的都假定来自模块生态系统) - 测试根,测试文件所在的位置(例如,用于能够在
xt
目录中进行 运行 测试)
然而,这些是相互排斥的。如果 TestUtils
模块被放置在 t
内的 lib
目录中,那么 lib
目录可以被标记为源根目录,并且符号应该被解析.