所以我希望得到PHUnit,这样我就可以运行selenium服务器,但是我已经意识到这可能永远不会发生在我身上。我已经尝试了很多不同版本的WAMP和XAMPP(我认为这不是我的问题)但是我总是碰到一堵墙,其中有两种情况之一发生:
找不到包,即:“没有可用于包的版本”pear.phpunit.de/File_Iterator“安装失败”,我确实发现了所有正确的通道。
我完成了安装(另一种方式),最终出现了“致命错误:'PHPUnit_Runner_BaseTestRunner'在C:\ xampp \ php \ PEAR \ PHPUnit \ TextUI \ TestRunner中找不到的错误。第60行的PHP“ - 交换'PHPUnit_Runner_BaseTestRunner'用于任何其他应该包含的文件。
令人难以置信的是,由于缺乏一致性,不仅有PHPUnit,还有梨。看起来我必须经历50步,等待行星对齐并在椅子上旋转十几次 - 顺时针......
抱歉咆哮 - 我的问题:
有没有一个简单,直接的教程来做这个,你们有成功的吗?或者也许有一个tut + zip,我可以使用它来绕过pear安装并只是复制文件? - 因为似乎所有梨都在做。任何类型的服务器(Wamp,Xampp等)和版本都很好 - 我将执行全新安装,我不需要在该机器上运行任何其他任何东西,所以我想要的就是让它工作。
编辑:
所以我手动浏览了所有文件,并在需要它们的地方添加了require_once()。然后我从http://pear.phpunit.de/下载了剩余的文件并将它们放在所需的位置。没有错误!但现在当我运行'c:\ xampp \ php> phpunit',没有任何反应!我只是得到另一个命令行 - 这也发生在我尝试运行类似'c:\ xampp \ php> phpunit test1',即使我不确定我需要存储test1.php文件的确切位置......
编辑2:
我很确定phpunit的.bat文件有问题,因为当我尝试运行任何命令(即:phpunit --help, - version等)时没有任何反应,我只是得到另一个命令行。我应该删除.bat文件和phpunit文件夹,然后重试?我还认为存在防火墙问题,因为我能够在不属于我公司域名的其他计算机上运行相同的命令。
答案 0 :(得分:9)
“没有可用于包的版本”pear.phpunit.de/File_Iterator
这可能有以下几个原因:
您需要更新频道信息
$ pear channel-update pear.phpunit.de
您的网络连接存在问题,即防火墙不允许或您需要设置代理。
要调试它,请尝试
# pear remote-info pear.phpunit.de/File_Iterator
Package details:
================
Latest 1.2.6
Installed 1.2.6
如果可行,您可以安装它。 否则,试着强迫它:
$ pear install -f pear.phpunit.de/File_Iterator
如果仍然无效,请访问http://pear.phpunit.de并手动下载该软件包。 用
安装$ pear install File_iterator-1.2.6.tgz
答案 1 :(得分:4)
下载并安装XAMPP Windows 1.7.3安装程序。
我不建议使用任何较新版本,它可能会破坏此程序。
<强> 1。将XAMPP安装到C:\
xampp
目录,这是我回答的内容......
No
Yes
Yes
<强> 2。打开C:\xampp\php\php.ini
并启用curl
第3。安装新的PEAR版本needed for PHPUnit 3.X
C:\xampp\php
Run as administrator
C:\xampp\php
cd xampp
cd php
php go-pear.phar
(安装新的PEAR)system
-wide installation All
个组件Yes
include_path = ".;\xampp\php\PEAR"
第796行C:\xampp\php\PEAR_ENV.reg
<强> 4。安装PHPUnit
C:\xampp\php
pear channel-discover components.ez.no
(这是PHPUnit需要的)pear channel-discover pear.symfony-project.com
(PHPUnit也需要)pear channel-discover pear.phpunit.de
(这是phpunit)pear update-channels
(更新频道定义)pear upgrade --alldeps
(升级所有现有包和梨)pear install --alldeps phpunit/PHPUnit
(安装PHPUnit和所有依赖项)欢迎你!这花了几个小时来解决:)
如果有任何要添加/删除的内容,请发表评论。
答案 2 :(得分:1)
之前我遇到过同样的问题,但没有找到任何有关此问题的教程。
我终于解决了一段时间。
您可以尝试按照这些步骤进行操作。
在https://github.com/sebastianbergmann
下载PHPUnit及其依赖项在您选择的文件夹中提取PHPUnit及其每个依赖项。
打开文件
FolderWhereYouExtractedEverything/PHPUnit-3.5.13OrAnotherVersion/phpunit.php
在用路径替换文本时添加以下代码:
$originalpath = 'PathToTheFolderWhereYouExtractedEverything';
$path = $originalpath .'PathToThePHPUnitFolderContainedInTheFolderExtracted';
set_include_path(get_include_path() . PATH_SEPARATOR . $path);
$path = $originalpath .'PathToThePHPCodeCoverageFolder';
set_include_path(get_include_path() . PATH_SEPARATOR . $path);
$path = $originalpath .'PathToThePHPFileIteratorFolder';
set_include_path(get_include_path() . PATH_SEPARATOR . $path);
$path = $originalpath .'PathToThePHPTextTemplateFolder';
set_include_path(get_include_path() . PATH_SEPARATOR . $path);
$path = $originalpath .'PathToThePHPTokenStreamFolder';
set_include_path(get_include_path() . PATH_SEPARATOR . $path);
$path = $originalpath .'PathToThePHPTimerFolder';
set_include_path(get_include_path() . PATH_SEPARATOR . $path);
在您解压缩的phpunit文件夹中打开文件“phpunit.bat”。 (像PHPUnit-3.5.13这样的东西)
用以下代码替换所有底线:
set PHPBIN="PathToThephp.exeFile"
php -d safe_mode=Off "PathToThephpunit.phpFile" %*
通过添加
的路径来编辑您的环境变量PathToThePHPUnitFolderContainedInThePHPUnitFolderExtracted
通过添加php.exe文件的路径来编辑您的环境变量。
您可能有一些已弃用的功能警告,只需用不推荐的功能替换这些功能。
我希望这一切都有所帮助。
答案 3 :(得分:1)
在尝试使用PEAR安装任何内容之前尝试此操作:
pear clear-cache
我遇到了各种各样的问题,没有发现任何包裹,现在它有效。每当我使用pear做任何事情时,我都会先清除缓存
答案 4 :(得分:0)
但现在当我运行'c:\ xampp \ php&gt; phpunit',没有任何反应!
phpunit可执行文件位于那里吗?了解:
$ pear list pear.phpunit.de/phpunit
...
script /usr/bin/phpunit
“脚本”是正确的位置。直接执行此操作或将目录放在system's PATH variable中(也可在Windows上使用)。
PHPUnit希望文件位于PSR-0兼容路径中,即class Foo_BarTest
位于Foo/BarTest.php
。如果是这种情况,请使用
$ phpunit Foo_BarTest
或
$ phpunit Foo/BarTest.php
或
$ phpunit .
(执行所有测试)。
答案 5 :(得分:0)
//使用此命令
C:\ wamp \ bin \ php \ php5.4.3&gt; pear install --force --alldeps phpunit / PHPUnit
//响应控制台 未知的远程频道:pear.symfony.com 警告:phpunit / PHPUnit需要包“channel://pear.symfony.com/Yaml”(版本&gt; = 2.0.0,版本&lt; = 2.99.99) 警告:phpunit / PHP_Invoker需要PHP扩展名“pcntl” 下载PHPUnit-3.7.21.tgz ... 开始下载PHPUnit-3.7.21.tgz(118,818字节) .....完成:118,818字节 下载PHP_Invoker-1.1.2.tgz ... 开始下载PHP_Invoker-1.1.2.tgz(3,705字节) ...完成:3,705字节 安装ok:channel://pear.phpunit.de/PHPUnit-3.7.21 安装ok:channel://pear.phpunit.de/PHP_Invoker-1.1.2
//结果成功,您可以开始使用您的测试用例,!!!祝好运 C:\瓦帕\ BIN \ PHP中\ php5.4.3&GT; PHPUnit的 Sebastian Bergmann的PHPUnit 3.7.21。