CakePHP 2.x メール送信内容のテストを行う

標準

テストでメールを送信せずに、CakeEmailでのレンダリング内容を取りたい場合は、

てな感じで、CakeEmail::transportClass()をスタブ化してDebugTransportを返すようにする。で、CakeEmail::message()でbodyを取得する。

と、去年の7月に書いたメモがあったのでとりあえず公開。

追記:
CakeEmail::transport()でdebugを指定すればいいじゃないかとも思ったけど、テスト対象の何らかの処理の中でtransportを変更していたらアレなのでやっぱりtransportClassをスタブ化するのが確実でよい。

Page optimized by WP Minify WordPress Plugin