파일 업데이트에 대한 모든 서브 클래스 : 나는 phpunit을 장치를 실행하는 루비 watchr 스크립트를 설정 한 http://net.tutsplus.com/sessions/test-driven-php/테스트는 내가 PHP와 단위 테스트를 배우고 및 tutsplus에 TDD 세션 다음입니다
는 파일이 수정 될 때마다 테스트 Susan Buck의 스크립트를 사용하여 : https://gist.github.com/susanBuck/4335092
파일을 업데이트 할 때 테스트 할뿐만 아니라 파일을 상속받은 모든 파일을 테스트하도록 루비 스크립트를 변경하고 싶습니다. 내가 상속을 나타 내기 위해 내 파일 이름 (및 그룹 파일) 부모 .PHP, Parent.Child .PHP 및 Parent.Child.GrandChild .PHP 등으로 watchr 스크립트는 단지 이름으로 검색 할 수 있도록. 나는 그 일을하는 법을 모른다.
나는 변경하려면 :
watch("Classes/(.*).php") do |match|
run_test %{Tests/#{match[1]}_test.php}
end
을 같은 것으로 :
watch("Classes/(.*).php") do |match|
files = get all classes that inherit from {match[1]} /\b{match[1]}\.(.*)\.php/i
files.each do |file|
run_test %{Tests/{file}_test.php}
end
end
어떻게 디렉토리에 파일 이름에 대한 검색을해야합니까? 또는이 작업을 수행하는 더 쉬운 방법이 있습니까? 이것은 내가 함께 결국 무엇
감사
편집
: 도서관, 테스트 및 TestFileEnd 파일의 상단에 정의 된 값입니다
watch("#{Library}/(.*/)?(.*).php") do |match|
file_moded(match[1], match[2])
end
def file_moded(path, file)
subclasses = Dir["#{Library}/#{path}#{file}*.php"]
p subclasses
subclasses.each do |file|
test_file = Tests + file.tap{|s| s.slice!(".php")}.tap{|s| s.slice!("#{Library}")} + TestFileEnd
run_test test_file
end
end
. 또한 응용 프로그램 라이브러리에 대한 하위 폴더의 변경 사항을 감지하고 적절한 테스트 파일을로드하도록 변경되었습니다.
도와 줘서 고마워. 그것은 내가 갈 필요가 있었던 곳에 나를 줬다 :) – baiano