如何使用PHAR在MAMP中配置PHPUnit

时间:2015-02-13 23:29:05

标签: php unit-testing phpunit

我想测试我的php代码,我决定使用PHPUnit进行测试。

我已按照official documentation

的步骤进行操作
 $ 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.

但我在MacOS X上使用MAMP。

所以我不确定如何在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/

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

2 个答案:

答案 0 :(得分:5)

以下是我用于成功使PHPUnit在MAMP中工作的步骤。这些说明 从各个地方拼凑而成。我希望在一个地方拥有一切都有帮助 其他人。快乐的测试!

在终端

中使用MAMP的PHP

改编自How to override the path of PHP to use the MAMP path?

使用以下行编辑或创建~/.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. https://phar.phpunit.de
  2. 下载最新的PHPUnit PHAR
  3. 将其移至/usr/local/bin
  4. cd /usr/local/bin
  5. 使用chmod +x phpunit-5.3.2.phar使其可执行(根据实际名称调整)
  6. ln -s phpunit-5.3.2.phar ./phpunit建立符号链接(根据实际名称调整)
  7. 使用phpunit -—version
  8. 检查版本

    你应该得到这样的东西:

    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()
    4. 运行测试

      此时,它应该像以下一样简单:

      phpunit SomeTest

      如果一切顺利,PHPUnit将运行您的测试并为您提供结果。

      添加Handy Alias

      假设一切正常(耶!)在~/.bash_profile

      中尝试使用此别名
      # Use colors when running phpunit
      alias phpunit='phpunit --colors'
      

答案 1 :(得分:0)

我试过了。您可以使用此命令。它对我有用。

sudo mv phpunit.phar /Applications/MAMP/bin/php/php5.2.17/bin/phpunit