成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專(zhuān)欄INFORMATION COLUMN

PHP7 擴(kuò)展之自動(dòng)化測(cè)試

graf / 907人閱讀

摘要:在安裝及各種擴(kuò)展的過(guò)程中,如果你是用源碼安裝,會(huì)注意到在成功之后總會(huì)有一句提示這個(gè)就是運(yùn)行的自動(dòng)化測(cè)試了。本文轉(zhuǎn)自官方博客

在安裝 PHP7 及各種擴(kuò)展的過(guò)程中,如果你是用源碼安裝,會(huì)注意到在 make 成功之后總會(huì)有一句提示:Don"t forget to run "make test". 這個(gè) make test 就是運(yùn)行 PHP 的自動(dòng)化測(cè)試了。

如果你剛剛安裝完 PHP7,直接運(yùn)行 make test,經(jīng)過(guò)漫長(zhǎng)的等待時(shí)間之后,最終的統(tǒng)計(jì)結(jié)果大概是這樣的:

會(huì)出現(xiàn)這么多 skip 和 fail 說(shuō)明有一些擴(kuò)展你沒(méi)有安裝,相關(guān)環(huán)境的配置也需要優(yōu)化

不過(guò)一般來(lái)講我們不需要運(yùn)行這么多的測(cè)試腳本,尤其對(duì)單一擴(kuò)展而言,針對(duì)相關(guān)接口來(lái)測(cè)試就可以了,所以我們進(jìn)一步看看如何獨(dú)立運(yùn)行測(cè)試腳本

首先打開(kāi) php 的 Makefile文件,我們看看 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; 
                INI_SCANNED_PATH=`$(PHP_EXECUTABLE) -d "display_errors=stderr" -r "$$a = explode(",
", 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 extension_dir=$(top_builddir)/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

先不用管那些變量的定義,核心內(nèi)容就是下面這一句

$(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);

原來(lái)自動(dòng)測(cè)試是通過(guò)執(zhí)行 PHP 源碼根目錄下的 run-tests.php來(lái)進(jìn)行的,測(cè)試腳本一般放在 tests 文件夾下

我們隨便打開(kāi) php 安裝目錄下的 ./tests/basic,里面有一些 phpt 文件,這就是一個(gè)個(gè)的測(cè)試腳本了

有些腳本中的內(nèi)容很簡(jiǎn)單,001.phpt 中的內(nèi)容是這樣的

--TEST--
Trivial "Hello World" test
--FILE--

--EXPECT--
Hello World

下面我們來(lái)只運(yùn)行 001.phpt 試試
首先要設(shè)置一下相關(guān)環(huán)境變量,指定被測(cè)試對(duì)象 PHP,這里樓主用的是安裝路徑下的
php

export TEST_PHP_EXECUTABLE=/usr/local/php7/bin/php

然后在 php 安裝根目錄下執(zhí)行

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

不出意外的話(huà)就可以得到下面的結(jié)果

這樣我們以后就可以寫(xiě)一個(gè)腳本來(lái)指定要測(cè)試的 phpt,并統(tǒng)計(jì)出最終的結(jié)果。

OneAPM for PHP 能夠深入到所有 PHP 應(yīng)用內(nèi)部完成應(yīng)用性能管理 能夠深入到所有 PHP 應(yīng)用內(nèi)部完成應(yīng)用性能管理和監(jiān)控,包括代碼級(jí)別性能問(wèn)題的可見(jiàn)性、性能瓶頸的快速識(shí)別與追溯、真實(shí)用戶(hù)體驗(yàn)監(jiān)控、服務(wù)器監(jiān)控和端到端的應(yīng)用性能管理。想閱讀更多技術(shù)文章,請(qǐng)?jiān)L問(wèn) OneAPM 官方技術(shù)博客。

本文轉(zhuǎn)自 OneAPM 官方博客

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/21482.html

相關(guān)文章

  • Badoo 告訴你切換到 PHP7 節(jié)省了 100 萬(wàn)美元

    摘要:我們?yōu)榱颂幚磉@些挑戰(zhàn),提出了一個(gè)新的引用測(cè)試框架當(dāng)然,也是開(kāi)源的,并且在整個(gè)過(guò)程中節(jié)省了上百萬(wàn)美元。另一方面,被證實(shí)有一些嚴(yán)重的缺點(diǎn)部署困難而且慢。在緩存刷新期間,當(dāng)可用于別的進(jìn)程的已緩存的文件字節(jié)碼在此時(shí)損壞,就會(huì)導(dǎo)致崩潰。 How Badoo saved one million dollars switching to PHP7 我們成功的把我們的應(yīng)用遷移到了php7上面(數(shù)百臺(tái)機(jī)...

    biaoxiaoduan 評(píng)論0 收藏0
  • PHP新手開(kāi)發(fā)者的路線(xiàn)建議

    摘要:年開(kāi)發(fā)者應(yīng)該熟練使用,并且知道版本更新內(nèi)容。對(duì)開(kāi)發(fā)和運(yùn)維人員來(lái)說(shuō),最希望的就是一次性創(chuàng)建或配置,可以在任意地方正常運(yùn)行。是標(biāo)準(zhǔn)規(guī)范,是開(kāi)發(fā)的實(shí)踐標(biāo)準(zhǔn)。對(duì)開(kāi)發(fā)者來(lái)說(shuō)語(yǔ)言推薦和,全棧的選擇非常多,推薦熱門(mén)的 前言 在前天(2018-08-02)已經(jīng)發(fā)布了PHP 7.3.0.beta1 Released 如果你還沒(méi)有使用 PHP7 ,那真的很遺憾。2018年P(guān)HP開(kāi)發(fā)者應(yīng)該熟練使用 PHP7...

    klinson 評(píng)論0 收藏0
  • PHP性能測(cè)試利器-Xdebug和phpstorm

    摘要:是一個(gè)開(kāi)放源代碼的程序調(diào)試器即一個(gè)工具,可以用來(lái)跟蹤,調(diào)試和分析程序的運(yùn)行狀況。以下為安裝示例,安裝請(qǐng)參考集成開(kāi)發(fā)和斷點(diǎn)調(diào)試環(huán)境的配置。指令的配置路徑必須是絕對(duì)路徑。 Xdebug是一個(gè)開(kāi)放源代碼的PHP程序調(diào)試器(即一個(gè)Debug工具),可以用來(lái)跟蹤,調(diào)試和分析PHP程序的運(yùn)行狀況。以下為Windows+Phpstorm+Xampp+Xdebug安裝示例,MAC安裝請(qǐng)參考集成開(kāi)發(fā)和斷...

    MoAir 評(píng)論0 收藏0
  • 【天贏金創(chuàng)】PHP7與Swoole

    摘要:但在密集計(jì)算方面比等靜態(tài)編譯語(yǔ)言差幾十倍甚至上百倍。一使用棧內(nèi)存在引擎和擴(kuò)展中,經(jīng)常要?jiǎng)?chuàng)建一個(gè)的變量,底層就是一個(gè)指針。代碼中創(chuàng)建的變量也進(jìn)行了優(yōu)化,直接在棧內(nèi)存上預(yù)分配。應(yīng)用層與底層在錯(cuò)誤拋出的方式全部統(tǒng)一為異常。 原文:http://rango.swoole.com/archives/440最近PHP官方終于發(fā)布了傳說(shuō)中的PHP7,雖然只是alpha版。PHP7號(hào)稱(chēng)是新一代的PHP...

    MingjunYang 評(píng)論0 收藏0
  • PHPRAP v1.0.6 發(fā)布,修復(fù)因php7.1版本遺棄mcrypt擴(kuò)展造成安裝失敗的BUG

    摘要:,是一個(gè)輕量級(jí)開(kāi)源接口文檔管理系統(tǒng),致力于減少前后端溝通成本,提高團(tuán)隊(duì)協(xié)作開(kāi)發(fā)效率,打造版的。官方網(wǎng)站演示網(wǎng)站作者博客官方群 PHPRAP,是一個(gè)PHP輕量級(jí)開(kāi)源API接口文檔管理系統(tǒng),致力于減少前后端溝通成本,提高團(tuán)隊(duì)協(xié)作開(kāi)發(fā)效率,打造PHP版的RAP。 更新記錄 【修復(fù)】修復(fù)因php7.1版本遺棄mcrypt擴(kuò)展造成安裝報(bào)錯(cuò)的BUG 【修復(fù)】修復(fù)在PHP7.1下因缺少默認(rèn)參數(shù)而報(bào)...

    booster 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<