dev-master
9999999-devInject prophecy mocks into your Peridot tests
MIT
The Requires
1.1.0
1.1.0.0Inject prophecy mocks into your Peridot tests
MIT
The Requires
1.0.0
1.0.0.0Inject prophecy mocks into your Peridot tests
MIT
The Requires
Wallogit.com
2017 © Pedro Peláez
Inject prophecy mocks into your Peridot tests
Use Peridot with the amazing mocking framework Prophecy, (*2)
We recommend installing this plugin to your project via composer:, (*3)
$ composer require --dev peridot-php/peridot-prophecy-plugin:~1.0
You can register the plugin via your peridot.php file., (*4)
<?php
use Evenement\EventEmitterInterface;
use Peridot\Plugin\Prophecy\ProphecyPlugin;
return function(EventEmitterInterface $emitter) {
$plugin = new ProphecyPlugin($emitter);
};
Registering this plugin will add a ProphecyScope as a child scope to all of your tests. This will allow you
to get a prophet object in all of your tests., (*5)
<?php
describe('Bird', function() {
it('should fly', function() {
$mock = $this->getProphet()->prophesize('Bird');
//do stuff with the mock
});
});
If a test suite's description is an existing class, the prophecy plugin will automatically inject a $subject instance
variable into your tests that is a mock of the class., (*6)
describe('Vendor\Namespace\Klass', function() {
it('should have a subject', function() {
$instance = $this->subject->reveal();
assert($instance instanceof Klass, 'should be instance of Klass');
});
});
Like any other peridot scope, you can mix the ProphecyScope provided by this plugin
on a test by test, or suite by suite basis., (*7)
<?php
use Peridot\Plugin\Prophecy\ProphecyScope;
describe('Bird', function() {
//here we manually mixin the http kernel scope
$scope = new ProphecyScope();
$this->peridotAddChildScope($scope);
it('should fly', function() {
$mock = $this->getProphet()->prophesize('Bird');
//do stuff with the mock
});
});
To test examples that are using the plugin, run the following:, (*8)
$ vendor/bin/peridot example/bird.spec.php
$ vendor/bin/peridot specs/
Inject prophecy mocks into your Peridot tests
MIT
Inject prophecy mocks into your Peridot tests
MIT
Inject prophecy mocks into your Peridot tests
MIT