PHPUnit——测试用例返回功能| Amphop swiftmailer symfony

PHPUnit——测试用例返回功能| Amphop swiftmailer symfony,symfony,swiftmailer,testcase,amphp,Symfony,Swiftmailer,Testcase,Amphp,早上好/晚上好/白天好 我想在指定时间使用symfony和 问题是,在我为每封电子邮件创建单独的smt传输(我知道)时,不可避免地会出现以下错误: 预期响应代码为220,但得到代码“421”,消息为“421{{{EMAIL.SERVER}}错误:来自{{{***.*.*.*.*.}的连接太多 幸运的是,有一个github存储库可以满足我的要求。但是,我不够聪明,无法理解测试。这是由于我不理解Ampp/parallel和同步的原因造成的 有人能把这个测试写回函数吗?如果可能的话,用symfony调

早上好/晚上好/白天好

我想在指定时间使用symfony和

问题是,在我为每封电子邮件创建单独的smt传输(我知道)时,不可避免地会出现以下错误:
预期响应代码为220,但得到代码“421”,消息为“421{{{EMAIL.SERVER}}错误:来自{{{***.*.*.*.*.}的连接太多

幸运的是,有一个github存储库可以满足我的要求。但是,我不够聪明,无法理解测试。这是由于我不理解Ampp/parallel和同步的原因造成的

有人能把这个测试写回函数吗?如果可能的话,用symfony调用者?希望我以后能理解它

<?php

namespace Trowski\AsyncSwiftMailer\Test;

use Amp\Parallel\Worker\Environment;
use Amp\Parallel\Worker\Pool;
use Amp\Parallel\Worker\Task;
use Amp\PHPUnit\AsyncTestCase;
use Amp\Promise;
use Swift_Message as SwiftMessage;
use Swift_Transport as SwiftTransport;
use Trowski\AsyncSwiftMailer\Mailer;
use Trowski\AsyncSwiftMailer\TransportFactory;
use function Amp\call;

class MailerTest extends AsyncTestCase
{
    public function testSend(): \Generator
    {
        $message = $this->createMock(SwiftMessage::class);

        $transport = $this->createMock(SwiftTransport::class);
        $transport->expects($this->once())
            ->method('send')
            ->with($message);

        $factory = $this->createMock(TransportFactory::class);
        $factory->expects($this->once())
            ->method('createTransport')
            ->willReturn($transport);

        $pool = $this->createMock(Pool::class);
        $pool->expects($this->once())
            ->method('enqueue')
            ->willReturnCallback(function (Task $task): Promise {
                return call([$task, 'run'], $this->createMock(Environment::class));
            });

        $mailer = new Mailer($factory, $pool);

        $failed = yield $mailer->send($message);

        $this->assertIsArray($failed);
        $this->assertEmpty($failed);
    }
}