0
モックを使ってコントローラをテストしたい。私はクラスMandrillApiを模擬するにはどうすればよい私のコントローラCakephp 3はモックを使ってコントローラをテストする
public function myAction() {
$email = new MandrillApi(['template_name'=>'myTemplate']);
$result = $email
->subject('My title')
->from('[email protected]')
->to('[email protected]')
->send();
if (isset($result[0]['status']) && $result[0]['status'] === 'sent')
return $this->redirect(['action' => 'confirmForgotPassword']);
$this->Flash->error(__("Error"));
}
試験で
public function testMyAction() {
$this->get("users/my-action");
$this->assertRedirect(['controller' => 'Users', 'action' => 'confirmForgotPassword']);
}
で
?お使いのコントローラのテストでは、あなたに
私はまずクラスを模擬する必要があるかどうかを最初に評価します。私はあなたのテストでライブAPIにデータを送信したくないと思いますか?資格を渡さないとすれば、クラスはいくつかのグローバルな設定値を読み込むと思います。ダミーのエンドポイントにデータを送信するように設定することは可能でしょうか? – ndm
はい、このapiのテストキーを渡すことは可能ですが、コントローラでクラスをモックすることが可能かどうかを知りたいのですが – Ozee