2013-05-08 102 views
4

我正在開發一個Perl模塊,它有很多XS代碼並且還使用Dist::Zilla來管理打包。什麼是有效測試事物的最佳方式?我知道dzil test,但是這很慢,因爲它每次調用時都會執行完整的編譯/編譯/測試循環。測試使用Dist :: Zilla的XS模塊

只更新自上次測試以來需要更新的部件以及只能運行某些測試腳本而不是全部測試腳本。任何人都有他們喜歡的解決方案?

+1

你和我都。 :) – friedo 2013-05-08 19:51:02

+0

哈哈哈=)是的,特別是它會很快加快MongoDB軟件包的代碼/測試周期。 – 2013-05-08 20:20:36

回答

2

我過去只是採用了由dzil生成的Build.PL/Makefile.PL,並將其作爲「Makefile_dev.PL」(或「Build_dev.PL」)放到源代碼庫中,添加它到MANIFEST.SKIP(或基於dzil的生成的等價物)並在開發過程中使用它。

1

對於我的XS模塊,我使用MakeMaker::CustomModuleBuild::Custom(均由我)。如果你設置正確,你可以直接在你的倉庫中運行Makefile.PL或Build.PL,而不需要調用dzil。要運行特定的測試,您只需構建dist並使用prove -b testname

使用ModuleBuild :: Custom的一些示例:Media-LibMTP-API,Win32-IPC

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

1

我知道我自稱老派,但是由於這些原因,我不使用Dist :: Zilla:當它工作的很好,當它不好時,它可能很難讓它做你想做的事。

我想這意味着,我的回答是:當它變得太難時,就轉到dzil生成的主要工具之一,即。 EUMM或MB直接。

+0

是的,我聽到你的聲音。儘管如此,仍然不會放棄。 =)這讓我感到驚訝,但測試的東西沒有現成的解決方案。 – 2013-05-09 12:59:13