Тестирование электронных писем с помощью Symfony - PullRequest
1 голос
/ 06 апреля 2011

Я проверяю электронную почту с помощью sfTestMailer (стратагия доставки отсутствует) Как мне извлечь текст из тела отправленной электронной почты?

Ответы [ 2 ]

2 голосов
/ 08 апреля 2011

Я думаю, вам придется расширить sfTesterMailer, чтобы получить сообщение (оно есть, но защищено). Прямо в функциональном тесте вы можете сделать это:

class myTesterMailer extends sfTesterMailer {
  public function getMessage() {
    return $this->message;
  }
}

class myTestFunc extends sfTestFunctional {
  public function getMessage() {
    $message = $this->with('mailer')->getMessage();
    return $message;
  }
}

$browser = new myTestFunc(new sfBrowser(), null, array('mailer' => 'myTesterMailer'));

$message = $browser->getMessage();
... do tests on $message->getBody() ...
1 голос
/ 06 апреля 2011

Если вы правильно настроили свои фабрики, это должно работать:

$browser->
//the rest of your test here
  with('mailer')->begin()->
    checkHeader('Subject', '/Hello world/')->
    checkBody('/Hello stack overflow/')->
  end();

Более подробная информация доступна в документации .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...