ericfortmeyer / mock-extern-service
用于模拟邮件或UDP套接字等服务进行功能测试。TDD,PHPUnit
v0.2.2
2021-04-27 20:38 UTC
Requires (Dev)
This package is auto-updated.
Last update: 2024-08-28 03:47:46 UTC
README
用于模拟邮件或UDP套接字等服务进行功能测试。结果将被保存在文件中,以便你可以进行断言。
安装
composer require --dev "ericfortmeyer/mock-extern-service"
启动
首先,您必须启动此系统,您可以在启动文件 查看。
\Fortmeyer\MockExternService\Service::boot();
然后,您必须使用PHP解释器选项 -d sendmail_path=mock-service/smtp-mock-server.php
启动PHPUnit。此脚本将模拟邮件系统。
断言
模拟邮件系统
使用 Fortmeyer\MockExternService\Result::MailInbox()
获取邮件内容。
PHP ini "sendmail_path" 必须设置为 smtp-mock-server.php 脚本。该脚本将获取邮件并保存。此配置只能在启动脚本之前设置。如php.ini或作为命令选项(php -d)。
示例
public function testMockMailSystem()
{
$msg = "Content " . time();
mail('root@@127.0.0.1', "subject", $msg);
$this->assertContains($msg, MockExternService\Result::MailInbox());
}
模拟UDP套接字
使用 Fortmeyer\MockExternService\Result::UdpSockArrived()
获取2048位的内容。套接字将监听
示例
public function testGrayLogServer()
{
$data = "graylog_data " . time();
$socket = fsockopen('udp://127.0.0.1:13010');
fputs($socket, $data);
$this->assertEquals($data, MockExternService\Result::UdpSockArrived());
}
示例
见 PHPUnitTest 命令: php -d sendmail_path=mock-service/smtp-mock-server.php ./vendor/bin/phpunit
。
Chanelog
- v0.1 首次想法