我的模块t/目录中有一个测试文件,它对包含一些变量和例程的文件执行useaTestUtils操作:
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());
Run Code Online (Sandbox Code Playgroud)
效果很好。然而,Comma 抱怨TestUtils没有在“生态系统中”找到,并且抛出来自TestUtils未加载模块的标识符的错误:
我能够通过以下方式阻止逗号抱怨:
TestUtils导出文件中的标识符TestUtils::check_cmd_output(...)TestUtils到providesMETA6.json 文件中的哈希值。我想可能有更好的方法。我尝试做类似use lib 't'和 之类的事情use lib '.',但这没有帮助。谢谢。
逗号不能完美地处理这种情况;它理解(遵循 IntelliJ 平台命名约定):
use项目内语句的根(任何未解决的内容都假定来自模块生态系统)xt目录中运行测试)然而,这些是相互排斥的。如果TestUtils模块要放置在lib内的目录中t,则lib可以将该目录标记为源根目录,并且应该解析符号。