I have a test file in my module's t/
directory that does a use
on a TestUtils
files which has some variables and routines:
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());
It works fine. However, Comma was complaining about TestUtils
not being found "in the ecosystem" as well as throwing errors with identifiers from the TestUtils
module that it was not loading:
I was able to stop Comma from complaining by:
TestUtils
fileTestUtils::check_cmd_output(...)
TestUtils
to the provides
hash in the META6.json file.I'm thinking there is probably a better way. I tried doing stuff like use lib 't'
and use lib '.'
but that did not help. Thanks.
Comma doesn't handle this situation perfectly; it understands (following the IntelliJ platform naming conventions):
use
statements within the project (anything not resolved is assumed to be from the module ecosystem)xt
directory)These are, however, mutually exclusive. If the TestUtils
module were to be placed in a lib
directory inside of t
, then that lib
directory could be marked as a source root, and the symbols should be resolved.