2

我有一个带有 MakeMaker 生成的 Makefile 的模块,我想make test并行运行我的单元测试 ()。Test::Harness接受例如HARNESS_OPTIONS=j4使用 4 个线程。但是我看不到如何调整MakeMaker 的测试目标来设置这个变量。

现在我可以HARNESS_OPTIONS=j4在我的中导出,~/.bashrc但在每次使用 Test::Harness 的测试运行时强制执行它似乎很奇怪。如果我有不应该在另一个项目中并行运行的测试怎么办?

make -j4 test没有看到任何改善。make test运行

PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/*/*.t

所以我猜即使make使用多个线程,Test::Harness 也可能不支持这一点,或者make可能不会将此信息传递给 Test::Harness。

目前这只是为了加快我的测试。我的模块是一个内部模块,我不太担心将这个选项强加​​给模块的任何用户。但是,如果我可以在例如我不发布的配置文件中定义此选项,那也可以。

说到配置文件:我可以prove -j4 t/并行运行和运行测试。因此,一个选项可能是告诉 MakeMaker 使用 运行测试prove,但我也没有看到配置它的方法。

我如何告诉 MakeMaker 并行运行这个项目的测试?

4

0 回答 0