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

Другие вопросы по тегам