【发布时间】:2016-07-30 02:55:20
【问题描述】:
目前我使用 Travis CI 来测试 Symfony Bundle。 PHPUnit 由 Composer 安装,因为 PHPUnit 被声明为 dev 依赖项:
{
…
"require" : {
"php": ">=5.5",
"symfony/symfony": "~2.7 || ~3.0"
},
"require-dev": {
"doctrine/orm": "^2.4.8",
"symfony/assetic-bundle": "~2.3",
"symfony/monolog-bundle": "~2.4",
"doctrine/doctrine-fixtures-bundle": "~2.3",
"liip/functional-test-bundle": "~1.4",
"phpunit/phpunit": "4.8.* || ~5.1"
},
…
}
即使我在每次构建后使用 Travis CI 的缓存来缓存 ~/.composer 文件夹,使用 Composer 安装 PHPUnit 也需要一些时间,因为 PHPUnit 必须在安装之前检查所有依赖项。
所以我在考虑使用可以在一个命令中安装的 PHAR 版本的 PHPUnit:
wget https://phar.phpunit.de/phpunit.phar
但是如果我在 Travis CI 上使用这个命令,PHPUnit 将在每个构建中下载一次。有没有办法缓存这个phpunit.phar 文件?一种简单的方法可能是将文件放入缓存中,检查此文件的日期,如果文件早于 1 天,则下载新版本,但可能有更简单的解决方案。
PHPUnit 有 --self-update 选项,但它是 will be removed in the next major release。
【问题讨论】:
标签: php phpunit travis-ci phar