如何使用PHAR在MAMP中配置PHPUnit


How to configure PHPUnit in MAMP with PHAR

我想测试我的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)。有一些方法可以在命令行中完成,但我无法开始工作。所以,我用了一个网络浏览器。

  1. 从下载最新的PHPUnit PHARhttps://phar.phpunit.de
  2. 将其移动到/usr/local/bin
  3. cd /usr/local/bin
  4. chmod +x phpunit-5.3.2.phar执行(根据实际名称调整)
  5. ln -s phpunit-5.3.2.phar ./phpunit建立符号链接(根据实际名称进行调整)
  6. 使用phpunit -—version检查版本

你应该得到这样的东西:

PHPUnit 5.3.2 by Sebastian Bergmann and contributors.

在步骤5中构建符号链接允许您使用phpunit,而不必键入CCD_ 11。它还允许您更新PHPUnit,而无需更改您键入的内容,当然,假设您在使现代化

编写测试

这不是一个详尽的部分。关于写作测试,有更好的教程。相反,这只是我在规则方面的一些经验,让我感到困惑,尽管我相信其他人都知道它们:

  1. 测试类名必须以test结尾:class SomeTest extends PHPUnit_Framework_TestCase
  2. 测试类文件名必须以test.php结尾,并与包含的类匹配:SomeTest.php
  3. 测试类中要作为测试运行的方法名必须以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