This package is deprecated. Please use Ray.TestDouble instead.
$ composer require ray/fake-module
useRay\Di\AbstractModule;
useRay\FakeModule\FakeModule;
class AppModule extends AbstractModule
{
protectedfunctionconfigure()
{
$this->install(newFakeModule);
}
}@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.
this feature heavily depends on BEAR.Resource [https://github.com/bearsunday/BEAR.Resource]
Real resource
namespaceFakeVendor\Sandbox\Resource\App;
useBEAR\Resource\ResourceObject;
useRay\FakeModule\Annotation\FakeResource;
/** * @FakeResource */class User extends ResourceObject
{
publicfunctiononGet($id)
{
// ...
}
}Fake resource
namespaceFakeVendor\Sandbox\Resource\App;
useBEAR\Resource\ResourceObject;
class FakeUser extends ResourceObject
{
publicfunctiononGet($id)
{
// ...
}
}@FakeClass annotation work as same as @FakeResource.
Real class.
namespaceFakeVendor\Sandbox\Module;
useRay\FakeModule\Annotation\FakeClass;
/** * @FakeClass */class TestClass
{
publicfunctionoutput() {
return"test class output";
}
}Fake class.
namespaceFakeVendor\Sandbox\Module;
class FakeTestClass
{
publicfunctionoutput() {
return"fake class output";
}
}- PHP 5.5+
- hhvm
