PHPUnit不与Laravel 5一起工作



我刚刚安装了一个新的Laravel 5项目,这是我在这个版本上的第一个项目。PHPUnit应该是开箱即用的框架,我看到的每一个教程都说在项目文件夹中键入phpunit来启动单元测试。

我检查了PHPUnit在composer.json中,我还做了composer installcomposer update,以防它不在中

website(master)$ composer update
Loading composer repositories with package information
Updating dependencies (including require-dev)
  - Removing phpunit/phpunit (4.6.1)
  - Installing phpunit/phpunit (4.6.2)
    Downloading: 100%

但它就是不起作用phpunit根本无法识别

 website(master)$ phpunit
-bash: phpunit: command not found

当我在谷歌上搜索时,似乎以前没有人遇到过这个问题。我希望我没有犯任何愚蠢的错误。有什么想法或建议吗?谢谢大家;)

我没有全局安装PHPUnit,也没有定义路径。所以对于任何有同样问题的人来说:

composer global require phpunit/phpunit
composer global require phpunit/dbunit

然后将其添加到~/.bash_profile~/.profile

export PATH=~/.composer/vendor/bin:$PATH

当您没有全局安装phpunit时,就会发生这种情况。

运行此命令以使用本地版本(与composer一起安装):

vendor/bin/phpunit

在windows机器中,命令不同,请使用此命令

php vendor/phpunit/phpunit/phpunit

原始源

在运行phpunit命令之前,您可以在cmd中运行此命令:

doskey phpunit="vendor/bin/phpunit"

如果你像我一样懒惰,你可以运行这个:

doskey pu="vendor/bin/phpunit"

对于拥有WINDOWS 7的用户,请使用.vendorbinphpunit命令而不是./vendor/bin/phpunit

运行命令

composer config --list --global | grep -w home

您可以找到带有composer路径的find [home],类似于此路径。

[home] /home/example_username/.config/composer

路径~/.config/composer是安装composer全局包的位置。接下来运行命令。。。

export PATH=~/.config/composer/vendor/bin:$PATH

我做了一个永久链接到我的phpunit,就像这个

echo 'alias phpunit=vendor/bin/phpunit' >> ~/.bash_aliases

现在phpunit正在自己工作,即使在我重新启动终端之后也会保持

在您的composer.json 中包含此行

"phpunit/phpunit": "4.0.*",

运行composer更新。您应该能够在您的Laravel目录上运行以下命令。

vendor/bin/phpunit 

最新更新