如何使用PHAR在MAMP中配置PHPUnit

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)

我不知道在这一步应该怎么做.请看一下,因为它不起作用.

Mar*_*ddy 5

以下是我用于成功使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
Run Code Online (Sandbox Code Playgroud)

将这些行放在导出$ PATH的任何其他行之后 - 这可以确保在路径中首先找到您的MAMP PHP.请注意,这些行尝试在MAMP安装中找到PHP编号最高的版本.如果需要,请随意根据您的具体情况进行调整.

当你从which php终端获得MAMP路径时,你可以告诉你做得对.你应该得到这样的东西:

/Applications/MAMP/bin/php/php7.0.0/bin/php

安装PHPUnit

大多数情况下,这是从PHPUnit网站下载PHP存档(PHAR).有一些方法可以从命令行执行此操作,但我无法使用它.所以,我使用了一个网络浏览器.

  1. https://phar.phpunit.de下载最新的PHPUnit PHAR
  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而不必键入 phpunit-5.3.2.phar.它还允许您更新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'
Run Code Online (Sandbox Code Playgroud)