メールを送信するメソッドが実際にメールを送信するのを止めようとしていますが、モックオブジェクト(またはいくつかのバリアント)が道だと思います。状況は次のとおりです。
class UserModel {
public static function resetPassword()
{
// Code to generate new password, etc, etc
self::_sendMail($to, $body);
return 1;
}
private function _sendMail($to, $body)
{
// Send email
}
}
_sendMail() をモックして独自のコードを挿入できる PHPUnit には、 resetPassword() で他のロジックを適切にテストできるのでしょうか?
私のテストは次のようになります。
$this->assertTrue(UserModel::resetPassword());
助けてくれてありがとう。