测试使用Dist :: Zilla的XS模块

时间:2013-05-08 17:59:14

标签: perl testing xs dist-zilla

我正在开发一个具有大量XS代码的Perl模块,并且还使用Dist::Zilla来管理打包。什么是有效测试事物的最佳方法?我知道dzil test,但这很慢,因为每次调用它都会进行完整的构建/编译/测试循环。

最好只更新自上次测试以来需要更新的部分,并且只能运行某些t/*.t测试脚本而不是所有测试脚本。任何人都有他们喜欢的解决方案吗?

3 个答案:

答案 0 :(得分:2)

过去,我刚刚接受了dzil生成的Build.PL/Makefile.PL,并将其作为“Makefile_dev.PL”(或“Build_dev.PL”)放入源存储库,添加到MANIFEST.SKIP(或基于dzil的,生成的等价物)并在开发过程中使用它。

答案 1 :(得分:1)

对于我的XS模块,我使用MakeMaker::CustomModuleBuild::Custom(我都是)。如果你正确设置,你可以直接在你的仓库中运行Makefile.PL或Build.PL而不需要调用dzil。要运行特定测试,您只需构建dist并使用prove -b testname

使用ModuleBuild :: Custom的一些示例:Media-LibMTP-APIWin32-IPC

使用MakeMaker :: Custom的示例:Win32-Setupsup

答案 2 :(得分:1)

我知道我把自己当作老派,但是由于这些原因,我不使用Dist :: Zilla:当它工作得很好的时候,当它不工作时,它真的很难制作它做你想做的事。

我想这意味着,我的答案是:当它变得太难时,只需转移到dzil生成的主要工具之一,即。 EUMM或MB直接。