Ray.FakeModule
This package is deprecated. Please use Ray.TestDouble instead., (*1)
, (*2)
Installation
Composer install
$ composer require ray/fake-module
Module install
use Ray\Di\AbstractModule;
use Ray\FakeModule\FakeModule;
class AppModule extends AbstractModule
{
protected function configure()
{
$this->install(new FakeModule);
}
}
Usage
Fake a resource uri.
@FakeResource
annotation fake uri for building mock feature.
Annotate target resource, which you want to fake, with @FakeResource
annotation. Then, 'Fake' prefixed resource in same namespace will be called via interceptor when original resource method called., (*3)
this feature heavily depends on BEAR.Resource [https://github.com/bearsunday/BEAR.Resource], (*4)
Real resource, (*5)
namespace FakeVendor\Sandbox\Resource\App;
use BEAR\Resource\ResourceObject;
use Ray\FakeModule\Annotation\FakeResource;
/**
* @FakeResource
*/
class User extends ResourceObject
{
public function onGet($id)
{
// ...
}
}
Fake resource, (*6)
namespace FakeVendor\Sandbox\Resource\App;
use BEAR\Resource\ResourceObject;
class FakeUser extends ResourceObject
{
public function onGet($id)
{
// ...
}
}
Fake a class method.
@FakeClass
annotation work as same as @FakeResource
., (*7)
Real class., (*8)
namespace FakeVendor\Sandbox\Module;
use Ray\FakeModule\Annotation\FakeClass;
/**
* @FakeClass
*/
class TestClass
{
public function output() {
return "test class output";
}
}
Fake class., (*9)
namespace FakeVendor\Sandbox\Module;
class FakeTestClass
{
public function output() {
return "fake class output";
}
}
Requirements