Swiftmailer / функциональный тест в symfony4.2
Ниже приведен код в папке tests/controller.
<?php
namespace App\Tests\Controller;
use App\Controller\RegisterController;
use PHPUnit\Framework\TestCase;
use PHPUnit\Framework\MockObject\MockObject;
use Psr\Log\LoggerInterface;
use Swift_Message;
class EvaplyTest extends TestCase
{
/** @var LoggerInterface|MockObject */
protected $logger;
/** @var RegisterController **/
protected $controller;
/**
* {@inheritdoc}
*/
protected function setUp()
{
$this->logger = $this->createMock(LoggerInterface::class);
$this->controller = new RegisterController(
$this->logger
);
parent::setUp();
}
/**
* Test for determing wether evaply id generated sucessfully or not
*/
public function testMailsent()
{
$message = (new Swift_Message("Successfully Registered"));
}
}
Я получаю эту ошибку "Этот тест не выполнил никаких утверждений"
Я просто хотел подтвердить, что почта отправлена успешно или нет.
1 ответ
При работе с phpunit любой тест должен содержать утверждение. Утверждение - это утверждение, которое необходимо проверить.
Например, в документе Symfony для тестирования электронной почты вы найдете
$this->assertSame(1, $mailCollector->getMessageCount());
Это означает, что подтверждение того, что значение первого параметра должно быть таким же, как значение второго параметра. Если это правда, тест продолжается / проходит успешно. Если нет, php unit сообщит об ошибке.
Как сказал Титили, отправка электронного письма уже задокументирована здесь https://symfony.com/doc/current/email/testing.html