Я пытаюсь остановить метод, который отправляет электронное письмо, от фактической отправки электронного письма, и я думаю, что фиктивные объекты (или какой-то вариант) - это путь. Вот ситуация:
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
}
}
Есть ли в PHPUnit возможность имитировать _sendMail() и внедрить свой собственный код, чтобы я мог правильно протестировать другую логику в resetPassword()?
Мой тест будет выглядеть примерно так:
$this->assertTrue(UserModel::resetPassword());
Спасибо за любую помощь.