> 백엔드 개발 > PHP 튜토리얼 > PHP7 확장 자동 테스트

PHP7 확장 자동 테스트

WBOY
풀어 주다: 2016-07-29 08:56:44
원래의
1037명이 탐색했습니다.

PHP7 및 다양한 확장 기능을 설치하는 과정에서 소스 코드에서 설치하면 make가 성공한 후 항상 프롬프트가 표시된다는 것을 알 수 있습니다. 'make test'를 실행하는 것을 잊지 마세요. PHP 자동 테스트를 실행합니다.

방금 PHP7을 설치하고 직접 make 테스트를 실행하면 오랜 대기 시간이 지난 후 최종 통계 결과는 아마도 다음과 같을 것입니다.
PHP7 확장 자동 테스트
건너뛰기와 실패가 너무 많을 것입니다. . 설치하지 않은 확장 기능이 있다는 의미이며, 관련 환경의 구성도 최적화해야 합니다

그러나 일반적으로 말하면, 특히 테스트 스크립트를 너무 많이 실행할 필요는 없습니다. 단일 확장자에서는 관련 인터페이스만 테스트하므로 테스트 스크립트를 독립적으로 실행하는 방법을 자세히 살펴보겠습니다.

먼저 PHP Makefile을 열고 make test가 무엇을 하는지 살펴보겠습니다

<code>test: all
        @if test ! -z "$(PHP_EXECUTABLE)" && test -x "$(PHP_EXECUTABLE)"; then \
                INI_FILE=`$(PHP_EXECUTABLE) -d 'display_errors=stderr' -r 'echo php_ini_loaded_file();' 2> /dev/null`; \
                if test "$$INI_FILE"; then \
                        $(EGREP) -h -v $(PHP_DEPRECATED_DIRECTIVES_REGEX) "$$INI_FILE" > $(top_builddir)/tmp-php.ini; \
                else \
                        echo > $(top_builddir)/tmp-php.ini; \
                fi; \
                INI_SCANNED_PATH=`$(PHP_EXECUTABLE) -d 'display_errors=stderr' -r '$$a = explode(",\n", trim(php_ini_scanne
d_files())); echo $$a[0];' 2> /dev/null`; \
                if test "$$INI_SCANNED_PATH"; then \
                        INI_SCANNED_PATH=`$(top_srcdir)/build/shtool path -d $$INI_SCANNED_PATH`; \
                        $(EGREP) -h -v $(PHP_DEPRECATED_DIRECTIVES_REGEX) "$$INI_SCANNED_PATH"/*.ini >> $(top_builddir)/tmp
-php.ini; \
                fi; \
                TEST_PHP_EXECUTABLE=$(PHP_EXECUTABLE) \
                TEST_PHP_SRCDIR=$(top_srcdir) \
                CC="$(CC)" \
                        $(PHP_EXECUTABLE) -n -c $(top_builddir)/tmp-php.ini $(PHP_TEST_SETTINGS) $(top_srcdir)/run-tests.php -n -c $(top_builddir)/tmp-php.ini -d extensi/modules/ $(PHP_TEST_SHARED_EXTENSIONS) $(TESTS); \
                TEST_RESULT_EXIT_CODE=$$?; \
                rm $(top_builddir)/tmp-php.ini; \
                exit $$TEST_RESULT_EXIT_CODE; \
        else \
                echo "ERROR: Cannot run tests without CLI sapi."; \
        fi</code>
로그인 후 복사

먼저 해당 변수의 정의에 대해 걱정하지 마십시오. 핵심 내용은 다음 문장입니다.

<code>$(PHP_EXECUTABLE) -n -c $(top_builddir)/tmp-php.ini $(PHP_TEST_SETTINGS) $(top_srcdir)/run-tests.php -n -c $(top_builddir)/tmp-php.ini -d extensi/modules/ $(PHP_TEST_SHARED_EXTENSIONS) $(TESTS);</code>
로그인 후 복사

루트 디렉토리에서 run-tests.php를 실행하면 자동 테스트가 수행됩니다. PHP 소스 코드는 일반적으로 테스트 폴더

php 설치 디렉터리에서 ./tests/basic을 열면 그 안에 몇 가지 phpt 파일이 있습니다. 이것들은 하나씩 테스트 스크립트입니다.


PHP7 확장 자동 테스트

어떤 스크립트의 내용은 아주 간단합니다. 001 .phpt의 내용은 이렇습니다

<code>--TEST--
Trivial "Hello World" test
--FILE--
<?php echo "Hello World"?>
--EXPECT--
Hello World</code>
로그인 후 복사
001.phpt만 실행해 보겠습니다

우선 무엇보다도 관련 환경 변수를 설정하고 테스트 개체 PHP를 지정해야 합니다. 여기서 포스터는
경로 아래의
php 설치

export TEST_PHP_EXECUTABLE=/usr/local/php7/bin을 사용합니다. /php

그런 다음 PHP 설치 루트 디렉터리에서

php run-tests.php ./tests/basic/001.phpt

아무 일도 일어나지 않으면 다음과 같은 결과를 얻을 수 있습니다


PHP7 확장 자동 테스트

이런 식으로 나중에 테스트할 phpt를 지정하고 최종 결과를 계산하는 스크립트를 작성할 수 있습니다.

PHP용 OneAPM은 모든 PHP 애플리케이션에 심층적으로 접근하여 애플리케이션 성능 관리를 완료할 수 있습니다. 코드 수준 성능 문제에 대한 가시성 및 신속한 식별을 포함하여 모든 PHP 애플리케이션에 심층적으로 접근하여 애플리케이션 성능 관리 및 모니터링을 완료할 수 있습니다. 성능 병목 현상 추적, 실제 사용자 경험 모니터링, 서버 모니터링 및 엔드 투 엔드 애플리케이션 성능 관리. 더 많은 기술 기사를 읽으려면 OneAPM 공식 기술 블로그를 방문하세요.

이 글은 OneAPM 공식 블로그에서 옮겨왔습니다

위 내용은 PHP7 확장 기능의 자동화된 테스트를 소개했으며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿