熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> PHP編程 >> 正文

致力於PECL的WINCACHE測試代碼,為測試PHP CGI 做准備

2022-06-13   來源: PHP編程 

幾天以前我曾准備了遷入有關PECL代碼到WINCACHE SVN倉庫我搭建了測試的基礎架構用以測試WINCACHE整個測試代碼可以到以下鏈接的文件夾中看到 請參閱我來闡述一下它的工作原理為了使這個能開始工作首先在可執行文件對其編譯這個可執行文件用於驅動測試套件我稱之為測試驅動源我已經提交了Visual Studio解決方案文件該文件的位置 如下但是解決方案文件針對的是Visual Studio 可能不與Visual Studio以前的版本兼容如果您使用的是舊版本的Visual Studio您可能需要創建一個新的解決方案/項目文件(簡單選擇Win控制台應用程序創建 解決方案/項目文件)在創建新的解決方案之後只需添加 C + +源/頭文件該 解決方案/項目可以在如下鏈接中找到對應方案在Visual Studio中編譯 並制作成可執行文件這將生成一個可執行文件名為 test_wincacheexe 您也可以編譯 Release/調試版本但我總是更喜歡發布生成 這是測試 WINCACHE您就可以使用可執行文件以下是如何使用的可執行文件來測試WINCACHE
&#; 在您的文檔根目錄(通常是C\ inetpub \ wwwroot文件在IIS)創建一個新文件夾名為testwincache
&#; 從 復制文件夾名為php_allphp__讓我花一些時間來解釋怎麼組織測試用例的
&#; 在名稱為php_all的文件夾中的PHP文件即能夠運行PHP 也能運行在PHP
&#; 文件夾php__包含針對PHP 的測試用例不應在PHP 運行因為會失敗它們包含的語法/代碼是針對PHP 版本的
&#; 復制文件夾名為php_allphp__內剛剛創建的名為testwincache的文件夾
&#; 在testwincache文件夾中創建一個名為temp的文件夾請確保此文件夾有足夠的權利/ACL因此使PHP應用程序有寫入權限
&#; 另外還要確保PHP應用程序有適當的權限能夠讀/寫名為php_allphp__ 文件夾
&#; 打開一個提升的命令提示符如果你是在Vista 或者更高版本的操作系統
&#; 轉到test_wincacheexe存在其中的文件夾
&#; 輸入 test_wincacheexe C\ inetpub \ wwwroot\ testwincache \ php_all http://localhost/testwincache/php_all
&#; 這將運行WINCACHE測試用例並轉儲一份好的摘要結果也可以在temp文件夾內的Resulttxt文件中找到
&#; 如果要運行php__測試用例只需要使用上面的命令用php__替換php_all即可
&#; 一個可以運行 test_wincache 詳細 獲得該工具的詳細的使用

這個代碼能做什麼呢?
&#; 代碼分析作為第一個參數提供並查找具有名稱 wincache <test_case_number>php 的所有文件的目錄
&#; 打開Internet Explorer和使用IWebBrowser 接口在浏覽器中執行測試文件
&#; 每個測試案例都有一個關聯的文件名為wincache <test_case_number>outtxt這一文件包含測試用例的輸出期待
&#; 測試案例本身會寫 一個outputtxt到名稱為temp的臨時目錄
&#; 上述兩個文件進行比較以顯示 通過/失敗
&#; 通過/失敗的日志記錄將會被創建到resulttxt文件中

有興趣知道提交細節的人請看
但是博客的標題不正是說了這提供了一種PHP CGI 可執行性的測試?是的確實如此如果你看一下PHP的回歸測試套件唯一缺少的是一種測試PHPcgiexe的方式因為這將涉及在浏覽器中運行的測試用例雖然CLI和CGI版本之間的PHP共享代碼在浏覽器中運行的是測試PHP的一個重要方面正如CGI 可執行文件運行在浏覽器內的憑據比通過 CLI 運行時是明顯不同的因此如果有人渴望在社會上展開這項工作我更願意與他合作以實現這一目標如果有人碰巧對此工作有興趣發電子郵件到DONRAMAN@ microsoft com我們可以一起做點什麼出來這個解決方案的一個明顯的局限是它的工作只能在安裝Internet Explorer上的Windows平台


From:http://tw.wingwit.com/Article/program/PHP/201404/30624.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.