PHP code example of mvkasatkin / mocker
1. Go to this page and download the library: Download mvkasatkin/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/ */
mvkasatkin / mocker example snippets
public function setUp()
{
parent::setUp();
Mocker::init($this);
}
$mock = Mocker::create(SomeClass::class);
$this->assertInstanceOf(SomeClass::class, $mock);
$mock = Mocker::create(SomeClass::class, [
Mocker::method('firstMethod')->returns(true),
Mocker::method('secondMethod', 1)->returns(true),
Mocker::method('thirdMethod', 1, [$param1, $param2])->returns($value),
Mocker::method('fourthMethod', 1)->with([$param1, $param2])->returns($value),
]);
/** @var SomeClass $mock */
$mock = Mocker::create(SomeClass::class, [
Mocker::method('checkMap', 5)->returnsMap([
['arg1', 'arg2', 'arg3', 'A'],
['arg1', 'arg2', null, 'B'],
['arg1', null, null, 'C'],
[null, null, null, 'D'],
]),
]);
$this->assertEquals('A', $mock->checkMap('arg1', 'arg2', 'arg3'));
$this->assertEquals('B', $mock->checkMap('arg1', 'arg2'));
$this->assertEquals('C', $mock->checkMap('arg1'));
$this->assertEquals('D', $mock->checkMap());
$this->assertEquals(null, $mock->checkMap('a', 'b', 'c'));
$mock = Mocker::create(SomeClass::class, [...], [$arg1, $arg2]);
$this->assertInstanceOf(SomeClass::class, $mock);
$o = new SomeClass();
Mocker::setProperty($o, 'protectedProperty', 'a');
Mocker::setProperty($o, 'privateProperty', 'b');
$this->assertEquals('a', Mocker::getProperty($o, 'protectedProperty'));
$this->assertEquals('b', Mocker::getProperty($o, 'privateProperty'));
$this->assertEquals('aZ', Mocker::invoke($o, 'privateMethod', ['a']));