2011-09-08 3 views
2

PHPUnit을 사용하여 테스트를 실행하면 Smarty 템플릿에 대한 코드 커버 리지 미터를 갖고 싶습니다.PHPUnit : 멋진 템플릿의 코드 범위

Smarty가 템플릿을 .php 개의 파일로 컴파일하므로 템플릿 자체에 적용 범위 정보가 없으므로 불행히도이 기능이 작동하지 않습니다. 컴파일 된 파일을 읽을 수 없기 때문에 컴파일 된 파일 .php을 살펴 보는 것은 좋지 않습니다.

적용 범위 정보가 주석 된 원본 템플릿 코드를 얻으려면 어떻게해야합니까?

PHPUnit's PHP_CodeCoverage과 통합되는 도구를 만들고 싶습니다. 생성 된 HTML 파일에서 적용 범위를 확인할 수 있기 때문입니다. 그러나 다른 솔루션으로도 충분합니다.

답변

3

본질적으로 사용자는 범위 도구가없는 "새로운"프로그래밍 언어 (템플릿)를 사용하고 있습니다. 템플릿에 대한 커버리지 데이터를 원한다는 것을 알았고, 그렇다면/test를 실행하고 커버리지 데이터를 얻을 수 있도록 컴파일 된 PHP 파일을 통과해야한다.

나는 특별 솔루션에 대해 잘 모르지만, 어떤 언어에 대한 일반적인 솔루션은 여기에 설명되어

Branch Coverage for Arbitrary Languages Made Easy.

우리 회사는이 아이디어를 바탕으로 family of test coverage tools을 만듭니다. 이러한 도구는 상호 운용됩니다. Java 및 C 테스트 커버 리지 도구를 사용하여 Java의 혼합 시스템에서 C 코드 (JNI 가능 호출) 코드로 테스트 커버리지 데이터를 수집하는 경우 Java 코드와 C 코드의 범위를 함께 표시 할 수 있습니다 범위 데이터 통계를 제공합니다.

이미이 제품군에는 PHP 테스트 커버리지 도구가 있습니다. Smarty 커버리지 툴이 있다면, 그 출력은 PHP 커버리지와 직접 결합되어 PHP와 Smarty 템플릿 모두를 함께 커버 할 수 있습니다.

+0

더 나은 답변 (기존 솔루션 사용)이 제공되지 않았기 때문에이 대답을 수락합니다. – cweiske

관련 문제