PHP自动化测试(一)make test 和 phpt
发布日期:2025-05-04 20:46:58 浏览次数:2 分类:精选文章

本文共 892 字,大约阅读时间需要 2 分钟。

当PHP编译完成后,编译程序通常会提示用户不要忘记执行make test。这条指令用于检查编译后的程序是否存在问题。需要注意的是,即使编译过程没有错误,程序也可能存在功能性问题或其他问题。

Makefile文件中,make test对应的具体命令如下:

$(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 extension_dir=$(top_builddir)/modules/ $(PHP_TEST_SHARED_EXTENSIONS) $(TESTS);

从上述命令可以看出,自动化测试主要通过源代码下的run-tests.php脚本来执行。

make test命令的具体定义如下:

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

该脚本首先检查PHP执行环境的存在性和可执行性。如果确认无误后,会生成一个临时的INI文件。接着,通过egrep命令检查INI文件中的已弃弃议指令。如果发现相关内容,会将其复制到临时INI文件中;否则,会生成一个空的INI文件。

上一篇:php自定义函数: 文件大小转换成智能形式
下一篇:PHP网页缓存技术优点及代码

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2026年06月01日 02时42分33秒