How to use Legacy PHPUnit

古いPHPとPHPUnitを動かしたいとき

レガシーなPHPとPHPUnitを動かしたいときのメモ。

ものすごい古いPHPを修正しなくては行けなくなったので、環境をつくって、テストコードを動かすようにした。

古いPHPの環境を作成する(Docker)

Doker Hubから欲しいversionを選択します。 php Tags - Docker Hub

選択したPHPのimageを指定し、docker-compose.ymlを作成します。

#docker-compose.yml

version: '3'
services:
  php:
    image: php:5.5.38-zts-alpine
    volumes:
      - './phpunit:/app/phpunit'

docker-composeの起動と動作確認

  docker-compose run php /bin/sh
Creating docker_php_run ... done

/ # php -v
PHP 5.5.38 (cli) (built: Aug 10 2016 21:27:24) 
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies

古いPHPUnitを動かす

発掘されたPHPには、そもそもテストコードなんて書かれていなかったので、細かい動作確認のために phpunitも古いものを持ってきて動かそうと思います。

PHPUnit はpharで過去のアーカイブが公開されてます。

https://phar.phpunit.de/

ここから欲しいphpunitのバージョンを取得してきて、起動する形になります。

# phpunitをダウンロードします。cd phpunit
  wget https://phar.phpunit.de/phpunit-3.7.10.phar ./  
 
# dockerに入り、phpunitの起動確認cd ../
  docker-compose run php /bin/sh
Creating docker_php_run ... done
/ # php -v
/ # cd app/phpunit/
/app/phpunit # ls
phpunit-3.7.10.phar
/app/phpunit # php phpunit-3.7.10.phar -v
/app/phpunit # php phpunit-3.7.10.phar --version 
PHPUnit 3.7.10 by Sebastian Bergmann.

利用したいverさえ明確になっていれば割合サクッと環境自体はできる。

そんなレガシーなもの触れたくないけども、やらないといけないときもある。という感覚。

connvoi's Picture

About connvoi

肉とビールと料理と写真とゲーム たまに技術 python / Solr / PHP / ansible

アマゾンセール情報サイト アマセール管理人

Jp, Tokyo https://connvoi.com