PHPUnitをComposerでインストールしてCakePHP2.2系で使う時の注意

いまどきのPHPUnitインストールはComposer使っていると思います。まぁ、いまどきなCakePHPならそれで問題ないです。ただ、微妙に古いCakePHPを使っているとPHPUnitが入ってないよって判定食らって test.php にアクセスしてもダメだったりします。(autoload自体はされているので使えるはずだけど)

Composer経由PHPUnitへの正式対応はCakePHP2.3.2以降から

PHPUnitがあるかどうか判定するメソッド loadTestFramework の履歴を見るとここで対応しているっぽいです。

Be compatible with PHPUnit installed with composer. · 386be52 · cakephp/cakephp · GitHub

lib/Cake/TestSuite/CakeTestSuiteDispatcher.php


// snip
public function loadTestFramework() {
	if (class_exists('PHPUnit_Framework_TestCase')) {
		return true;
	}
	// snip
}

これでautoloadされているPHPUnitが判定されます。まぁ、CakePHP自体をアップデートできるような環境の人は素直にアップデートした方がいいと思います。

おまけ:PHPUnit Composerインストールメモ

composer.json

{
	"require-dev": {
	    "phpunit/phpunit": "3.7.*"
    },
	"config": {
		"vendor-dir": "htdocs/app/Vendor/Composer"
	}
}

app/Config/bootstrap.php


// snip
App::import('Vendor', 'Composer'.DS.'autoload');
$ composer install

これだけ。vendor-dir でインストール場所を指定できる。

Feed

最新記事

開発フローを独自進化させ続けている開発チームの話

こんにちは CTO の [@zaru](https://twitter.com/zaru) です。 スクラム開発をしている開発チームが、開発フローを独自進化させていて、それが良い取り組みだったので紹介しようと思います。 #...

235650?v=4
zaru
2017年11月20日

退職者を招いたLTイベントを開催した

こんにちは、ベーシック CTO [@zaru](https://twitter.com/zaru) です。 ベーシック開発部では毎月月末の金曜日にTGIFと称して、 ~~飲み会 + アナログゲームなイベント~~ 技術 LT 大会...

235650?v=4
zaru
2017年10月12日

山形ラボ、TGIFはじめました

こんにちは。株式会社ベーシック山形ラボの長谷川です。 いろんなところで書いたりなんだりしてますが、弊社には山形に「山形ラボ」というリモート拠点がありまして、そこで4人のエンジニアが働いております。 今回は その山形ラボで、...

10917612?v=4
roki1801
2017年10月10日