针对不同供应商版本的PHPUnit CI测试

时间:2017-12-05 17:36:14

标签: php symfony unit-testing continuous-integration phpunit

我正在使用composer和PHPUnit CI编写PHP软件。 我将其设置为针对不同的PHP版本进行测试 - php 5.6 / 7.0 / 7.1。

但我的软件具有第三方软件依赖性。 如何设置单元测试以针对不同的供应商模块运行?

例如:我的软件想要symfony / forms~2.8~3.0。

如何设置2个测试:一个使用symfony 2.8,另一个使用3.0?

我认为唯一的方法是使用某种before_script:composer需要vendor:~comprate_version?

1 个答案:

答案 0 :(得分:3)

您可以使用多个composer.json,例如:

  • composer.5_6.json"require": {"php":">=5.6", "symfony/symfony":"~2.8"}
  • composer.7_0.json"require": {"php":">=7.0", "symfony/symfony":"~3.0"}

然后在before_script

  • cp composer.5_6.json composer.json && composer update
  • 运行5.6单元测试
  • rm composer.json && rm composer.lock
  • cp composer.7_0.json composer.json && composer update
  • 运行7.0单元测试