2017-12-05 12 views
0

저는 PHP 작곡가와 PHPUnit CI로 소프트웨어를 작성하고 있습니다. 다른 PHP 버전 (PHP 5.6/7.0/7.1)에 대해 테스트하도록 설정했습니다.PHPUnit CI 다른 벤더 버전에 대한 테스트

그러나 제 소프트웨어에는 타사 소프트웨어 종속성이 있습니다. 다른 공급 업체 모듈에 대해 실행되도록 단위 테스트를 설정할 수 있습니까?

예 : 내 소프트웨어는 symfony/forms 중 ~ 2.8 ~ 3.0 중 하나를 원합니다.

심포니 2.8과 3.0의 두 가지 테스트를 어떻게 설정합니까?

나는 유일한 방법은 before_script 일종의 생각 : 작곡가 요구 공급 업체 : ~ specific_version?

답변

2

당신은 예를 들어, 여러 composer.json를 사용할 수 있습니다

  • :

    • composer.5_6.json ("require": {"php":">=5.6", "symfony/symfony":"~2.8"}와) 당신의 before_script에서 다음

    와 ("require": {"php":">=7.0", "symfony/symfony":"~3.0"}와)

  • composer.7_0.json,
  • 하여 5.6 단위를 실행 쉬운만큼 보인다,
  • rm composer.json && rm composer.lock
  • cp composer.7_0.json composer.json && composer update
  • 이 7.0 단위는
+0

네 테스트 실행 테스트합니다. 하지만 그렇게하면 많은 수의 작곡가 파일로 저장소를 부 풀릴 수 있습니다. 잠시 후 Travis-CI를 찾았습니다. https://docs.travis-ci.com/user/languages/php/#Testing-Against-Multiple-Versions-of-Dependencies – CappY

+0

네가 원한다면 예. 외부 CI 시스템을 사용하십시오. 이것은 또 다른 질문입니다! gitlab CI를 사용하여 다른 버전의 https://docs.gitlab.com/ce/ci/examples/php.html#test-against-different-php-versions-in-docker-builds를 시도해보십시오. 트래비스와 동일합니다. 또한 작곡가 무시할 수 있습니다. *. json. composer vendor-dir을 vendor5_6 및 vendor7_0으로 설정할 수도 있습니다 – Flo