在没有 /vendor/bin/ 的 laravel 4 中使用 phpunit

Posted

技术标签:

【中文标题】在没有 /vendor/bin/ 的 laravel 4 中使用 phpunit【英文标题】:Using phpunit in laravel 4 without /vendor/bin/ 【发布时间】:2013-09-15 21:52:52 【问题描述】:

我已经使用 composer 在这个 laravel 实例中安装了 phpunit。这些文件存在于 laravel/vendor/bin 文件夹中。当我运行 vendor/bin/phpunit 时,示例测试运行。在我正在观看的有关 laravel 单元测试的所有教程中,导师只需运行 phpunit 并运行测试。

在laravel documentation 中说我应该能够简单地运行 phpunit 来启动测试。

有关 phpunit 的文档是在系统范围内安装的吗?视频中的导师是否只是在系统范围内安装了它,还是我遗漏了什么?

【问题讨论】:

【参考方案1】:

他们在系统范围内安装了它。

如果您在 Windows 中,您可以修改 PATH 系统变量以包含 phpunit 的路径。例如在我的身上,我在上面附加了;C:\wamp\www\rel\vendor\bin

然后你只需要导航到你的项目所在的文件夹,该文件夹应该包含 laravel 中包含的 phpunit.xml 文件,然后在命令提示符下运行 phpunit

不幸的是,我不完全确定如何在 Linux 或 OSX 上执行此操作。

【讨论】:

谢谢,我在 Windows 上,我尝试通过 composer 全局安装 phpunit,命令行使用这个命令 composer global require 'phpunit/phpunit=3.7.*'link 但我得到了一个 composer错误告诉我它无法解析版本字符串 尝试使用composer global require,然后当它显示Search for a package[]: 时,输入phpunit/phpunit。它通常是0 选项,因此只需键入0 并输入并回答每个问题。如果你不确定,如果你只是推enter,它通常会为你决定最佳选择。然后再次运行composer update,只要您按照前面所述设置了 PATH 变量,您就可以继续使用了。您可能还想查看softkube.com/blog/ansi-command-line-colors-under-windows 命令提示符上的颜色编码。 这似乎已经在全局安装它但是我似乎没有正确的路径,因为我仍然得到无法识别的错误,这是我添加到我的路径'C:\ ProgramData \作曲家\bin;' 我明白了,因为正确的路径是 C:\ProgramData\Composer\bin\vendor\bin【参考方案2】:

在 linux 中,通过在终端中输入 which phpunit 来获取 phpunit 路径。它可能在 /usr/bin/ 目录中。执行

alias phpunit='/usr/bin/phpunit'

在终端中。

【讨论】:

【参考方案3】:

在 Mac OS 中,只需通过终端进入您的 Laravel 项目目录,然后输入以下命令:

alias phpunit="~/Your Project Directory Name/vendor/bin/phpunit"

从现在开始,您只需输入 phpunit 即可运行 PHPUnit。

【讨论】:

以上是关于在没有 /vendor/bin/ 的 laravel 4 中使用 phpunit的主要内容,如果未能解决你的问题,请参考以下文章

vendor/bin/phpunit 不适用于 Lumen

如何将 ~/.composer/vendor/bin 目录放在你的 PATH 中?

vendor/bin/phpunit 以 2 退出

如何使用 .zshrc 将 ~/.composer/vendor/bin 目录放在 PATH 中

Symfony3.4:PHPUnit并且没有可用的代码覆盖驱动程序[关闭]

如何在 composer 和 /vendor/autoload.php 之前加载文件?