如何创建PHPUnit的符号链接?

时间:2017-10-19 19:45:33

标签: php phpunit composer-php

我正在使用Laravel。每当我需要运行测试时,我必须在以下目录中执行PHPUnit:

vendor/phpunit/phpunit/phpunit

如何创建上面文件的符号链接,以便我不必每次都输入phpunit的完整路径?

我尝试了以下命令,但没有工作:

ln -s vendor/phpunit/phpunit/phpunit mysym 

出于某种原因,当我尝试执行符号链接时,它会显示“未找到命令”。

2 个答案:

答案 0 :(得分:2)

  

如何创建上面文件的符号链接,以便我不必每次都输入phpunit的完整路径?

你不做任何符号链接。相反,您需要将该路径添加到$PATH变量中。此外,您应该使用vendor/bin文件夹,而不是直接使用包的文件夹。

所以在你的shell中执行:

$ export PATH=$PATH:/home/you/project/vendor/bin/

您也可以将其添加到.bashrc

答案 1 :(得分:1)

composer.json可以选择设置命令文件的放置位置:

"bin-dir": "vendor/bin",

它可以设置为“bin” - 所以它和Composer包含的其他可运行文件就在那里,例如bin/phpunit

请参阅:https://getcomposer.org/doc/articles/vendor-binaries.md

还有另一种选择 - composer scripts,它也用于运行“post-install-cmd”& “post-update-cmd”,但您可以将自己的命令放在那里。

"scripts": {
    "test": "phpunit -v --debug",
    "behat": "behat",
    "post-install-cmd": [
    ... rest of composer.json

在这里,如果我输入composer test,它将使用给定的命令行运行PHPunit。