2013-05-08 4 views
4

많은 XS 코드가있는 Perl 모듈에서 작업하고 있으며 패키지 관리에는 Dist::Zilla도 사용하고 있습니다. 효율적으로 일을 테스트하는 가장 좋은 방법은 무엇입니까? 나는 dzil test에 대해 알고 있지만 호출 될 때마다 전체 빌드/컴파일/테스트주기를 수행하기 때문에 꽤 느리다.Dist :: Zilla를 사용하는 XS 모듈 테스트

마지막 테스트 이후에 업데이트해야하는 부분을 업데이트하고 모든 것보다는 특정 t/*.t 테스트 스크립트 만 실행할 수있어서 좋을 것입니다. 누구나 좋아하는 솔루션을 가지고 있습니까?

+1

당신과 나 모두. :) – friedo

+0

ha ha ha =) 예, 특히 MongoDB 패키지의 코드/테스트주기를 빠르게하는 것이 좋습니다. –

답변

2

나는 dzil이 생성 한 Build.PL/Makefile.PL을 가져 와서 "Makefile_dev.PL"(또는 "Build_dev.PL")로 소스 저장소에 넣었습니다. MANIFEST.SKIP (또는 dzil 기반, 생성 된 동등한 것)을 개발 중에 사용했습니다.

1

내 XS 모듈의 경우 MakeMaker::Custom 또는 ModuleBuild::Custom (모두 나)을 사용합니다. 일을 올바르게 설정하면 dzil을 호출하지 않고도 Repo에서 직접 Makefile.PL 또는 Build.PL을 실행할 수 있습니다. 특정 테스트를 실행하려면 dist를 빌드하고 prove -b testname을 사용하십시오.

ModuleBuild :: Custom을 사용하는 몇 가지 예제는 Media-LibMTP-API, Win32-IPC입니다.

MakeMaker :: Custom을 사용하는 예 : Win32-Setupsup.

1

나는 내가 옛날 학교처럼 자신을 숨기고 있다는 것을 알고있다. 그러나 나는 이러한 이유 때문에 Dist : Zilla를 사용하지 않는다. : 그것은 위대한 일을 할 때, 그렇지 않다면 정말 힘들 수있다. 네가 원하는대로해라.

내 대답은 다음과 같습니다. 너무 어려워지면 dzil이 생성하는 기본 도구 중 하나로 이동하십시오. EUMM 또는 MB 직접.

+0

네, 들려요. 그래도 그것을 포기하지 않을 것입니다. =) 테스트 일에는 아무런 준비가되어 있지 않은 해결책이 있습니다. –