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