tumtum/mock-extern-service

用于模拟邮件或UDP套接字等服务进行功能测试。TDD,PHPUnit

v0.1.1 2017-06-09 10:23 UTC

This package is auto-updated.

Last update: 2024-09-04 22:47:18 UTC


README

Build Status

用于模拟邮件或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 第一个想法