我想测试我的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.
但我正在使用MAMP与我的MacOSX.
所以我不知道如何在MAMP中实现PHAR文件。
通常,文档告诉在终端中使用此注释:
sudo mv phpunit.phar /usr/local/bin/phpunit
我的PHP位置是:
/Applications/MAMP/bin/php/php5.2.17/bin/
我试着运行这个评论:
sudo mv phpunit.phar /Applications/MAMP/bin/php/php5.2.17/bin/
我不知道这一步该怎么办。请看一看,因为它不起作用。
以下是我用来成功使PHPUnit在MAMP中工作的步骤。这些说明从不同的地方拼凑而成。我希望把它放在一个地方会有所帮助其他人。测试愉快!
在终端中使用MAMP的PHP
改编自如何重写PHP的路径来使用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
将这些行放在导出$PATH的任何其他行之后,这样可以确保在路径中首先找到您的MAMP PHP。请注意,这些行试图在MAMP安装中找到编号最高的PHP版本。如果需要,可以根据自己的具体情况随意调整。
当您在终端中从which php
获得MAMP路径时,可以看出您做得对。你应该得到这样的东西:
/Applications/MAMP/bin/php/php7.0.0/bin/php
安装PHPUnit
大多数情况下,这是从PHPUnit网站下载PHP档案(PHAR)。有一些方法可以在命令行中完成,但我无法开始工作。所以,我用了一个网络浏览器。
- 从下载最新的PHPUnit PHARhttps://phar.phpunit.de
- 将其移动到
/usr/local/bin
cd /usr/local/bin
- 用
chmod +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
,而不必键入CCD_ 11。它还允许您更新PHPUnit,而无需更改您键入的内容,当然,假设您在使现代化
编写测试
这不是一个详尽的部分。关于写作测试,有更好的教程。相反,这只是我在规则方面的一些经验,让我感到困惑,尽管我相信其他人都知道它们:
- 测试类名必须以test结尾:
class SomeTest extends PHPUnit_Framework_TestCase
- 测试类文件名必须以test.php结尾,并与包含的类匹配:
SomeTest.php
- 测试类中要作为测试运行的方法名必须以test开头:
public function testSomething()
运行测试
到这个时候,它应该像一样简单
phpunit SomeTest
如果一切顺利,PHPUnit将运行您的测试并给出结果。
添加方便的别名
假设一切正常(是的!)请在您的~/.bash_profile
中尝试此别名
# Use colors when running phpunit
alias phpunit='phpunit --colors'
/usr/local/bin/
只是作为一种惯例推荐使用,因为它在Unix系统上总是在$PATH中,您可以使用路径中的任何其他位置,也可以将其留在其他任何位置,并在使用时指定绝对路径。
有了你所拥有的,你应该能够运行:
/Applications/MAMP/bin/php/php5.2.17/bin/phpunit.phar --version
请注意.phar
后缀,因为您在移动时没有像使用sudo mv phpunit.phar /usr/local/bin/phpunit
那样重命名文件
我试过了。您可以使用此命令。它对我有效。
sudo mv phpunit.phar /Applications/MAMP/bin/php/php5.2.17/bin/phpunit