在Ubuntu上使用composer安装PHPUnit的好处?

时间:2017-06-01 13:05:57

标签: php phpunit composer-php

我正在开发一个PHP网站。我的笔记本电脑上有一个版本,我开发了所有内容和运行该网站的Web服务器。

我发现我可以使用composer仅在我的笔记本电脑上安装PHPUnit,而不是使用"require-dev"选项Using "require-dev" to install packages in composer

在我的网络服务器上安装

但是,这有一些缺点:

  1. 从现在开始,我必须在网络服务器上拨打php composer update --no-dev,如果我忘记了--no-dev,那么它也会安装在网络服务器上

  2. 我必须使用$ ./vendor/bin/phpunit来调用phpunit

  3. 我必须在笔记本电脑上为每个项目安装phpunit。

  4. 在Ubuntu sudo apt-get install phpunit上安装phpunit会好得多吗?这样我就不必担心在服务器上使用--no-dev选项了,我可以简单地通过$ phpunit来调用它。我错过了这里重要的事吗?

2 个答案:

答案 0 :(得分:0)

快速回答是:

  1. 您可以在项目中拥有所需的phppunit版本,而在另一个项目中拥有另一个版本的phppunit。并且--no-dev应该在生产中使用,因为您不想在生产中安装所有dev依赖项
  2. 如果您不想调用./vendor/bin/phpunit向composer.json添加脚本,然后按composer test或您创建的任何内容运行测试
  3. 在第一篇中解释。这真的很有意义,特别是当你使用一些仅适用于某些特定版本的php / phpunit等的遗留代码时。

答案 1 :(得分:0)

我通常在'require-dev'部分中安装phpunit和其他工具,但另一个完全合理的选择是从网站下载phpunit.phar文件,并与其余部分一起检查代码 - 偶尔手动更新。

本地(或全局)Composer安装将允许更好地控制可用的版本,并且您可以看到它或其他依赖项何时与composer outdated过期。

对于生产部署,您应该尽可能地自动化它,以确保每次都发生完全相同的事情。有了它,它只是部署脚本或其他机制中的另外几个字符。