ユニットテストの際は DB のコネクションを明示的に切断する

メモメモ

全てのユニットテストを実行したら、

Zend_Db_Adapter_Exception: SQLSTATE[08004] [1040] Too many connections

とかって怒られた。

通常は、データベースとの接続を閉じる必要はありません。 リクエストの処理が終了した時点で、PHP が自動的にリソースの後始末を行うからです。 データベース関連の拡張モジュールは、 リソースオブジェクトへの参照がなくなった時点で接続を閉じるように設計されています。

しかし、実行時間が長くかかり、 多くのデータベース接続を扱うような PHP スクリプトの場合は、自分で接続を閉じる必要があるかもしれません。 これにより、RDBMS サーバが限界に達してしまうことを防ぎます。 データベース接続を明示的に閉じるには、アダプタの closeConnection() メソッドを使用します。

http://framework.zend.com/manual/ja/zend.db.html#zend.db.adapter.closing

PHPUnit の場合 tearDown() 内でアダプターを取得して closeConnection() を呼んでやれば解決した。