レガシーなPHPシステムにPHPUnitを入れてみる
PHP/Laravel・AWS中心のWebエンジニア / テックリード。10年超の開発経験をもとに副業・業務委託のご依頼を受け付けています。
レガシーなPHPシステムにPHPUnitを入れてみる
2019年3月13日

目的

  • 単体テストがなく、なんの動作保証もない実装がすぐにローンチされている環境をなくしたい
  • 色々とメンテナンスされていないライブラリを消し去りたい
  • 他にも色々と理由はあった・・・・気がするけど主にこのへん

現状

  • レガシーのシステムなので PHP の version はもちろんサポ外ですよ

    • なので極力対象のシステムが動く環境で検証実装
    • 既存の秘伝のタレで作成されるvagrant環境を参考にdockerの環境構築に着手した
      • しかし大きな問題が発生。メンテされていない、ドキュメントも少ない、安全な保証なしってことで消し去りたいライブラリを入れられないって問題。あまり時間も取られたくないのでひとまず秘伝のタレでできている vagrant 環境で実装することに※実際みる限り問題なく動いてはいるはず。
  • 単体テストを使用しようとした痕跡はあるけどもそれ自体がテストとして成立してないものなので、即全削除。0 からの実装が確定

調査・事前準備

  • 該当の PHP version で動く PHPUnit と DbUnit の組み合わせで検証プロトタイプの作成
  • その後秘伝のタレの vagrant 環境で動作確認

先々考えるとしんどい

  • 理由
    • PHPUnit, DbUnit の version を PHP の version に伴ってあげると path が変わる。
    • そこを考慮して実装しないと世代アップにも時間が取られることになる。

次のブログで導入手順を書く

  • PHP : 5.6.*
  • PHPUnit : 5.5.*
  • DbUnit : 2.0.* という環境です。