Meh*_*met 4 php phpunit unit-testing
我想测试我的PHP代码,我决定使用PHPUnit进行测试.
我已经按照官方文档的步骤
$ wget https://phar.phpunit.de/phpunit.phar
$ chmod +x phpunit.phar
$ sudo mv phpunit.phar /usr/local/bin/phpunit
$ phpunit --version
PHPUnit x.y.z by Sebastian Bergmann and contributors.
Run Code Online (Sandbox Code Playgroud)
但是我在MacOS X上使用MAMP.
所以我不确定如何在MAMP中实现PHAR文件.
通常,文档告诉在终端中使用此注释:
sudo mv phpunit.phar /usr/local/bin/phpunit
Run Code Online (Sandbox Code Playgroud)
我的PHP位置是:
/Applications/MAMP/bin/php/php5.2.17/bin/
Run Code Online (Sandbox Code Playgroud)
我试过运行这个评论:
sudo mv phpunit.phar /Applications/MAMP/bin/php/php5.2.17/bin/
Run Code Online (Sandbox Code Playgroud)
我不知道在这一步应该怎么做.请看一下,因为它不起作用.
以下是我用于成功使PHPUnit在MAMP中工作的步骤.这些说明是从不同的地方拼凑而成的.我希望在一个地方拥有一切可以帮助别人.快乐的测试!
~/.bash_profile使用以下行编辑或创建
# Use MAMP's latest version of PHP
MAMP_LATEST_PHP=`ls /Applications/MAMP/bin/php/ | sort -n | tail -1`
export PATH=/Applications/MAMP/bin/php/${MAMP_LATEST_PHP}/bin:$PATH
Run Code Online (Sandbox Code Playgroud)
将这些行放在导出$ PATH的任何其他行之后 - 这可以确保在路径中首先找到您的MAMP PHP.请注意,这些行尝试在MAMP安装中找到PHP编号最高的版本.如果需要,请随意根据您的具体情况进行调整.
当你从which php终端获得MAMP路径时,你可以告诉你做得对.你应该得到这样的东西:
/Applications/MAMP/bin/php/php7.0.0/bin/php
大多数情况下,这是从PHPUnit网站下载PHP存档(PHAR).有一些方法可以从命令行执行此操作,但我无法使用它.所以,我使用了一个网络浏览器.
/usr/local/bincd /usr/local/binchmod +x phpunit-5.3.2.phar(根据实际名称调整)ln -s phpunit-5.3.2.phar ./phpunit(根据实际名称调整)phpunit -—version你应该得到这样的东西:
PHPUnit 5.3.2 by Sebastian Bergmann and contributors.
在步骤5中构建符号链接允许您使用phpunit而不必键入
phpunit-5.3.2.phar.它还允许您更新PHPUnit而无需更改键入的内容,当然假设您在更新时创建了新的符号链接.
这不是一个详尽的部分.有关编写测试的更好的教程.相反,这只是我对绊倒我的规则经验的一些注释,尽管我确信其他人都知道它们:
class SomeTest extends PHPUnit_Framework_TestCaseSomeTest.phppublic function testSomething()到这个时候,它应该像以下一样简单:
phpunit SomeTest
如果一切顺利,PHPUnit将运行您的测试并为您提供结果.
假设一切正常(耶!)在你的尝试中尝试这个别名 ~/.bash_profile
# Use colors when running phpunit
alias phpunit='phpunit --colors'
Run Code Online (Sandbox Code Playgroud)