We'd love you to help out with mockery and no contribution is too small.
Issues can be reported on the issue tracker. Please try and report any bugs with a minimal reproducible example, it will make things easier for other contributors and your problems will hopefully be resolved quickly.
We're always interested to hear about your ideas and you can request features by creating a ticket in the issue tracker. We can't always guarantee someone will jump on it straight away, but putting it out there to see if anyone else is interested is a good idea.
Likewise, if a feature you would like is already listed in the issue tracker, add a 👍 so that other contributors know it's a feature that would help others.
We loosely follow the PSR-1 and PSR-2 coding standards, but we'll probably merge any code that looks close enough.
- Fork the repository on GitHub
- Add the code for your feature or bug
- Add some tests for your feature or bug
- Optionally, but preferably, write some documentation
- Optionally, update the CHANGELOG.md file with your feature or BC break
- Send a Pull Request to the correct target branch (see below)
If you have a big change or would like to discuss something, create an issue in the issue tracker or jump in to #mockery on freenode
Any code you contribute must be licensed under the BSD 3-Clause License.
Mockery may have several active branches at any one time and roughly follows a Git Branching Model. Generally, if you're developing a new feature, you want to be targeting the master branch, if it's a bug fix, you want to be targeting a release branch, e.g. 0.8.
To run the unit tests for Mockery, clone the git repository, download Composer using
the instructions at http://getcomposer.org/download/,
then install the dependencies with php /path/to/composer.phar install
.
This will install the required PHPUnit and Hamcrest dev dependencies and create the
autoload files required by the unit tests. You may run the vendor/bin/phpunit
command
to run the unit tests. If everything goes to plan, there will be no failed tests!
Mockery and it's code generation can be difficult to debug. A good start is to
use the RequireLoader
, which will dump the code generated by mockery to a file
before requiring it, rather than using eval. This will help with stack traces,
and you will be able to open the mock class in your editor.
// tests/bootstrap.php
Mockery::setLoader(new Mockery\Loader\RequireLoader(sys_get_temp_dir()));