【问题标题】:Running PHPUnit in Laravel's Homestead在 Laravel 的 Homestead 中运行 PHPUnit
【发布时间】:2015-03-22 18:13:41
【问题描述】:

我正在使用 Homestead 来提供我的 Laravel 应用程序。我正在尝试运行 PHPUnit。根据docs

app/tests 目录中提供了一个示例测试文件。后 安装一个新的 Laravel 应用程序,只需运行 phpunit 在 命令行来运行你的测试。

好吧,当我在我的项目根目录(在 Homestead 环境中)“简单地运行”phpunit 时,我得到了这个:

当前未安装程序“phpunit”。

那我需要单独安装 PHPUnit 吗?文档没有提到它。我做错了什么?

【问题讨论】:

    标签: php laravel phpunit vagrant homestead


    【解决方案1】:

    您可以在系统上使用全局安装它。

    composer global require phpunit/phpunit
    

    但是,如果您需要为不同的项目使用不同的版本,这可能会导致问题。

    另一种选择是通过引用vendor 目录的路径来使用作为依赖项的一部分安装的版本。

    ./vendor/bin/phpunit
    

    您甚至可以在 ~/Homestead 目录中的别名文件中添加别名。这样,您始终使用与项目依赖项一起安装的 phpunit 版本。

    alias phpunit=./vendor/bin/phpunit
    

    您需要重新启动宅基地框才能使用别名。

    【讨论】:

    • 对我来说,这个安装的 phpunit v5.1 目前与 Laravel 不兼容。使用composer global require "phpunit/phpunit=4.4.*" 指定版本。
    • Homestead 现在自动设置这个别名。
    【解决方案2】:

    由于它是开发所需的包,Laravel 提供了 PHPunit(composer 中的 require-dev 部分),你应该在 vendor 的文件夹中找到它:

    $ your_app/vendor/bin/
    

    您可以从应用文件夹的根目录运行命令,方法是输入:

    $ vendor/bin/phpunit
    

    希望对你有帮助!

    【讨论】:

      【解决方案3】:

      您可以通过以下方式全局安装它:

      $ composer global require "phpunit/phpunit=4.4.*"
      # then use
      $ phpunit
      

      或者您可以将它与本地作曲家一起使用:

      $ composer require "phpunit/phpunit=4.4.*"
      # then
      $ vendor/bin/phpunit
      

      【讨论】:

      • 第二种方法对我不起作用; phpunit 说You need to set up the project dependencies using the following commands: ...。不过,全局安装有效。
      猜你喜欢
      • 2017-05-24
      • 2017-09-06
      • 2021-04-25
      • 2018-09-07
      • 2020-01-29
      • 2016-09-09
      • 2018-04-11
      • 2020-02-12
      • 1970-01-01
      相关资源
      最近更新 更多