tumtum / mock-extern-service
用于模拟邮件或UDP套接字等服务进行功能测试。TDD,PHPUnit
v0.1.1
2017-06-09 10:23 UTC
Requires (Dev)
- phpunit/phpunit: ^4.8
This package is auto-updated.
Last update: 2024-09-04 22:47:18 UTC
README
用于模拟邮件或UDP套接字等服务进行功能测试。结果将保存到文件中,您可以进行断言。
安装
composer require --dev "tumtum/mock-extern-service"
启动
首先,您必须启动此系统,您可以在bootstrap文件中这样做查看。
\tm\MockExternService\Service::boot();
然后,您必须使用PHP解释器选项-d sendmail_path=[vendor/]bin/smtp-mock-server.php
启动PHPUnit。此脚本将模拟邮件系统。
断言
模拟邮件系统
使用tm\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套接字
使用tm\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 第一个想法