国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

PHP7 擴展之自動化測試

graf / 844人閱讀

摘要:在安裝及各種擴展的過程中,如果你是用源碼安裝,會注意到在成功之后總會有一句提示這個就是運行的自動化測試了。本文轉自官方博客

在安裝 PHP7 及各種擴展的過程中,如果你是用源碼安裝,會注意到在 make 成功之后總會有一句提示:Don"t forget to run "make test". 這個 make test 就是運行 PHP 的自動化測試了。

如果你剛剛安裝完 PHP7,直接運行 make test,經過漫長的等待時間之后,最終的統計結果大概是這樣的:

會出現這么多 skip 和 fail 說明有一些擴展你沒有安裝,相關環境的配置也需要優化

不過一般來講我們不需要運行這么多的測試腳本,尤其對單一擴展而言,針對相關接口來測試就可以了,所以我們進一步看看如何獨立運行測試腳本

首先打開 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

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

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

原來自動測試是通過執行 PHP 源碼根目錄下的 run-tests.php來進行的,測試腳本一般放在 tests 文件夾下

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

有些腳本中的內容很簡單,001.phpt 中的內容是這樣的

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

--EXPECT--
Hello World

下面我們來只運行 001.phpt 試試
首先要設置一下相關環境變量,指定被測試對象 PHP,這里樓主用的是安裝路徑下的
php

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

然后在 php 安裝根目錄下執行

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

不出意外的話就可以得到下面的結果

這樣我們以后就可以寫一個腳本來指定要測試的 phpt,并統計出最終的結果。

OneAPM for PHP 能夠深入到所有 PHP 應用內部完成應用性能管理 能夠深入到所有 PHP 應用內部完成應用性能管理和監控,包括代碼級別性能問題的可見性、性能瓶頸的快速識別與追溯、真實用戶體驗監控、服務器監控和端到端的應用性能管理。想閱讀更多技術文章,請訪問 OneAPM 官方技術博客。

本文轉自 OneAPM 官方博客

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/21482.html

相關文章

  • Badoo 告訴你切換到 PHP7 節省了 100 萬美元

    摘要:我們為了處理這些挑戰,提出了一個新的引用測試框架當然,也是開源的,并且在整個過程中節省了上百萬美元。另一方面,被證實有一些嚴重的缺點部署困難而且慢。在緩存刷新期間,當可用于別的進程的已緩存的文件字節碼在此時損壞,就會導致崩潰。 How Badoo saved one million dollars switching to PHP7 我們成功的把我們的應用遷移到了php7上面(數百臺機...

    biaoxiaoduan 評論0 收藏0
  • PHP新手開發者的路線建議

    摘要:年開發者應該熟練使用,并且知道版本更新內容。對開發和運維人員來說,最希望的就是一次性創建或配置,可以在任意地方正常運行。是標準規范,是開發的實踐標準。對開發者來說語言推薦和,全棧的選擇非常多,推薦熱門的 前言 在前天(2018-08-02)已經發布了PHP 7.3.0.beta1 Released 如果你還沒有使用 PHP7 ,那真的很遺憾。2018年PHP開發者應該熟練使用 PHP7...

    klinson 評論0 收藏0
  • PHP性能測試利器-Xdebug和phpstorm

    摘要:是一個開放源代碼的程序調試器即一個工具,可以用來跟蹤,調試和分析程序的運行狀況。以下為安裝示例,安裝請參考集成開發和斷點調試環境的配置。指令的配置路徑必須是絕對路徑。 Xdebug是一個開放源代碼的PHP程序調試器(即一個Debug工具),可以用來跟蹤,調試和分析PHP程序的運行狀況。以下為Windows+Phpstorm+Xampp+Xdebug安裝示例,MAC安裝請參考集成開發和斷...

    MoAir 評論0 收藏0
  • 【天贏金創】PHP7與Swoole

    摘要:但在密集計算方面比等靜態編譯語言差幾十倍甚至上百倍。一使用棧內存在引擎和擴展中,經常要創建一個的變量,底層就是一個指針。代碼中創建的變量也進行了優化,直接在棧內存上預分配。應用層與底層在錯誤拋出的方式全部統一為異常。 原文:http://rango.swoole.com/archives/440最近PHP官方終于發布了傳說中的PHP7,雖然只是alpha版。PHP7號稱是新一代的PHP...

    MingjunYang 評論0 收藏0
  • PHPRAP v1.0.6 發布,修復因php7.1版本遺棄mcrypt擴展造成安裝失敗的BUG

    摘要:,是一個輕量級開源接口文檔管理系統,致力于減少前后端溝通成本,提高團隊協作開發效率,打造版的。官方網站演示網站作者博客官方群 PHPRAP,是一個PHP輕量級開源API接口文檔管理系統,致力于減少前后端溝通成本,提高團隊協作開發效率,打造PHP版的RAP。 更新記錄 【修復】修復因php7.1版本遺棄mcrypt擴展造成安裝報錯的BUG 【修復】修復在PHP7.1下因缺少默認參數而報...

    booster 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<