使用 PHPUnit 对 Laravel 4 进行单元测试

Posted

技术标签:

【中文标题】使用 PHPUnit 对 Laravel 4 进行单元测试【英文标题】:Unit testings Laravel 4 with PHPUnit 【发布时间】:2013-09-13 02:10:48 【问题描述】:

我已将"phpunit/phpunit": "3.7.*" 添加到composer.jsonrequire-dev 部分并运行composer install。不幸的是,当我从我的 Larvel 4 项目的根目录运行 vendor/bin/phpunit 时,我收到以下错误:

$ vendor/bin/phpunit
vendor/bin/phpunit: line 1: ../phpunit/phpunit/composer/bin/phpunit: No such file or directory

有什么想法吗?

【问题讨论】:

你为什么认为你可以这样运行它? 您是否验证过该文件是否存在?您应该进行作曲家更新。否则是正确的,除了文件不存在。 假设../phpunit/phpunit/composer/bin/phpunit 指的是vendor/phpunit/phpunit/composer/bin/phpunit,那么是的,文件就在那里。我只是从 vendor/bin 文件夹中运行它(假设相对路径搞砸了),我现在得到了这个人:PHPUnit 3.7.24 by Sebastian Bergmann. Usage: phpunit [switches] UnitTest [UnitTest.php] phpunit [switches] <directory> 另外,我正在使用 Git Bash 在 Windows 7 的 ubuntu VM 上运行SSH 进入虚拟机。我觉得我越来越近了。有什么想法吗? 【参考方案1】:

您需要使用--dev 标志运行安装命令

$ composer install --dev

既然您已经运行了composer install,那么现在就运行composer update。更新命令假设你在一个开发环境中,并且下载你的开发依赖,没有任何标志。

为确保您的作曲家是最新的,请在此命令之前运行 composer self-update

【讨论】:

以上是关于使用 PHPUnit 对 Laravel 4 进行单元测试的主要内容,如果未能解决你的问题,请参考以下文章

PHPUnit 似乎没有运行 Laravel 迁移

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

使用 phpunit 进行 Laravel 测试

在 Laravel 中设置 PHPUnit 测试

phpunit 命令不适用于 Windows 7 上的 laravel 4

在 laravel 4 中使用 phpunit 测试 POST