2017 © Pedro PelĂĄez
 

library proxy-mock

image

timesplinter/proxy-mock

  • Monday, May 28, 2018
  • by TiMESPLiNTER
  • Repository
  • 0 Watchers
  • 0 Stars
  • 5,141 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 2 Forks
  • 1 Open issues
  • 11 Versions
  • 25 % Grown

The README.md

ProxyMock

THIS PACKAGE IS ABANDONNED, (*1)

To replace a service of the Symfony container with a mock make a public alias on the service and then you're able to set a mock for it in the test case (if you have access to the container which is the case in ̀Symfony's KernelTestCase)., (*2)

config/services.yaml, (*3)

services:
    my.service:
        class: My\Service

config/services_test.yaml, (*4)

services:
    my.service.test:
        alias: my.service
        public: true

Your test case extends KernelTestCase, (*5)

use My\Service;
use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;

final class ConsumeUserMessagesFromCoreTest extends KernelTestCase
{
    public function testSomething(): void
    {
        // Access the service over the public alias defined in "services_test.yaml"
        self::$container->set('my.service.test', $this->getMockBuilder(Service::class)->getMock());
    }
}

Scrutinizer Code Quality, (*6)

This library helps to create a proxy instance of a class which then can hold a PHPUnit mock of it. That way you can manipulate the mock which sits inside the proxy class but never have to change the proxy class., (*7)

This can be useful for example in cases of read-only containers where you can't override services at runtime. (The dependency injection container component of Symfony 4 will most likely behave like that.), (*8)

class Foo { ... }

$factory = new ProxyMockFactory();
$proxyMock = $factory->create(Foo::class);

// In a PHPUnit test case
$mock = $this->getMockBuilder(Foo::class)
    ->disableOriginalConstructor()
    ->getMock();

$proxyMock->setMock($mock);

The Versions

28/05 2018

dev-master

9999999-dev

  Sources   Download

MIT

The Requires

 

The Development Requires

28/05 2018

v0.4.1

0.4.1.0

  Sources   Download

MIT

The Requires

 

The Development Requires

22/02 2018

v0.4.0

0.4.0.0

  Sources   Download

MIT

The Requires

 

The Development Requires

04/12 2017

0.3.x-dev

0.3.9999999.9999999-dev

  Sources   Download

MIT

The Requires

 

The Development Requires

04/12 2017

v0.3.1

0.3.1.0

  Sources   Download

MIT

The Requires

 

The Development Requires

04/12 2017

v0.3.0

0.3.0.0

  Sources   Download

MIT

The Requires

 

The Development Requires

07/09 2017

v0.2.0

0.2.0.0

  Sources   Download

MIT

The Requires

 

The Development Requires

07/09 2017

0.2.x-dev

0.2.9999999.9999999-dev

  Sources   Download

MIT

The Requires

 

The Development Requires

06/09 2017

v0.1.2

0.1.2.0

  Sources   Download

MIT

The Requires

 

The Development Requires

05/07 2017

v0.1.1

0.1.1.0

  Sources   Download

MIT

The Requires

 

The Development Requires

05/07 2017

v0.1.0

0.1.0.0

  Sources   Download

MIT

The Requires

 

The Development Requires