如何在perl makefile中指定TAP::Harness::Junit?

如何在perl makefile中指定TAP::Harness::Junit?,perl,makefile,Perl,Makefile,我的perl模块有一个使用MakeMaker的Makefile.PL,如下所示: #!/usr/bin/perl use strict; use warnings FATAL => 'all'; use 5.008; use ExtUtils::MakeMaker; WriteMakefile ( NAME => 'MyModule', AUTHOR => 'Subu', LICENSE => 'p

我的perl模块有一个使用MakeMaker的Makefile.PL,如下所示:

#!/usr/bin/perl
use strict;
use warnings FATAL => 'all';

use 5.008;

use ExtUtils::MakeMaker;

WriteMakefile
(
    NAME          => 'MyModule',
    AUTHOR        => 'Subu',
    LICENSE       => 'perl',
    PREREQ_PM     => {
        'File::Basename' => '0',
    },
    TEST_REQUIRES => {
        'Test::More'       => '0.47',
        'Test::MockModule' => 'v0.170.0',
        'Test::MockObject' => '1.20180705',
        'Devel::Cover'     => '1.31',
        'Test::File'       => '1.443'
    },
    BUILD_REQUIRES => {
        'Log::Log4perl'  => '1.49',
        'JSON::Parse'    => '0.55',
        'Time::Piece'    => '1.33',
        'Text::CSV'      => '1.97'
    },
    EXE_FILES => [
        'src/main/perl/MyModule/main.pl'
    ],

    test => {TESTS => 'src/test/perl/MyModule/*/*.t 
src/test/perl/MyModule/*/*/*.t'}

);
我可以使用

perl Makefile.PL
make 
make test
但是,我希望使用TAP::Harness::Junit格式化输出。如何在makefile中指定它

我知道我可以用prove进行测试

prove --formatter TAP::Formatter::JUnit *.t

但是我想知道是否有一种方法可以将它插入到我的makefile中

Makefile.PL主要用于使模块cpan可安装。例如,模块安装期间将运行
make test
,以验证其在目标系统上是否正常工作。为此,更改格式化程序(并添加额外的依赖项)没有帮助


Makefile.PL
不一定是个人开发工作流程或任何持续集成脚本的所在地。例如,如果要在Jenkins服务器上生成JUnit测试报告,可能需要将
prove--formatter TAP::formatter::JUnit*.t
命令放入Jenkins文件中。如果您喜欢编写Makefile,您可以为您的个人开发脚本使用单独的Makefile,尽管您必须使用
make-f MyMakefile test
来调用它。

Makefile.PL主要用于使您的模块可以安装。例如,模块安装期间将运行
make test
,以验证其在目标系统上是否正常工作。为此,更改格式化程序(并添加额外的依赖项)没有帮助


Makefile.PL
不一定是个人开发工作流程或任何持续集成脚本的所在地。例如,如果要在Jenkins服务器上生成JUnit测试报告,可能需要将
prove--formatter TAP::formatter::JUnit*.t
命令放入Jenkins文件中。如果您喜欢编写Makefile,您可以为您的个人开发主题使用一个单独的Makefile,尽管您必须使用
make-f MyMakefile test
来调用它。

谢谢,这很有意义。谢谢,这很有意义。