1. Go to this page and download the library: Download idimsh/php-internals-mocker library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
idimsh / php-internals-mocker example snippets
php
namespace Vendor\Namespace
class MyClass
{
public function openConnction($hostname)
{
return fsockopen($hostname);
}
}
php
namespace VendorTest\Namespace
use idimsh\PhpInternalsMocker\PhpFunctionSimpleMocker;
class MyClassTest extends \PHPUnit\Framework\TestCase
{
protected function setUp(): void
{
parent::setUp();
PhpFunctionSimpleMocker::reset();
}
public function testOpenConnction(): void
{
$hostname = \uniqid('hostname');
$return = \uniqid('some mock for the return of fsockopen()');
PhpFunctionSimpleMocker::add(
'fsockopen',
\Vendor\Namespace\MyClass::class,
function ($inputHostname) use ($hostname, $return) {
static::assertSame($inputHostname, $hostname);
return $return;
}
);
$object = new \Vendor\Namespace\MyClass;
$actual = $object->openConnection($hostname);
static::assertSame($return, $actual);
/** @noinspection PhpUnhandledExceptionInspection */
PhpFunctionSimpleMocker::phpUnitAssertNotEnoughCalls($this);
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.