几天以前我曾准备了迁入有关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_all和php__让我花一些时间来解释怎么组织测试用例的
;在名称为php_all的文件夹中的PHP文件即能够运行PHP 也能运行在PHP
;文件夹php__包含针对PHP 的测试用例不应在PHP 运行因为会失败它们包含的语法/代码是针对PHP 版本的
;复制文件夹名为php_all和php__内刚刚创建的名为testwincache的文件夹
;在testwincache文件夹中创建一个名为temp的文件夹请确保此文件夹有足够的权利/ACL因此使PHP应用程序有写入权限
;另外还要确保PHP应用程序有适当的权限能够读/写名为php_all和php__ 文件夹
;打开一个提升的命令提示符如果你是在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平台