CakePHP 2.x メール送信内容のテストを行う
テストでメールを送信せずに、CakeEmailでのレンダリング内容を取りたい場合は、
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
// モックを作成 $CakeEmail = $this->getMock('CakeEmail', array('transportClass')); $CakeEmail->expects($this->any())->method('transportClass') ->will($this->returnValue(new DebugTransport())); // CakeEmailのMockをセット $TestTarget->CakeEmail = $CakeEmail; // ... $TestTargetを使った何らかのメール送信を含む処理 // text形式のメッセージを取得 $bodyText = $CakeEmail->message(CakeEmail::MESSAGE_TEXT); // html形式のメッセージを取得 $bodyHtml = $CakeEmail->message(CakeEmail::MESSAGE_HTML); // ... 適宜、値チェック |
てな感じで、CakeEmail::transportClass()を […]