Skip to content

Latest commit

 

History

History
 
 

PHP

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Parrot Refactoring Kata

See the top level readme for general information about this exercise. This is the PHP version of the Parrot Refactoring Kata. The Kata is fully functional, with a full test suite. The objective of this Kata is to improve the code using Pol(l)ymorphism. The tests do not normally need to be changed.

Installation

The kata uses:

Recommended:

See GitHub cloning a repository for details on how to create a local copy of this project on your computer.

git clone https://github.com/emilybache/Parrot-Refactoring-Kata.git

Install all the dependencies using composer

cd Parrot-Refactoring-Kata/PHP
composer install

Run all the tests

composer tests

Dependencies

The kata uses composer to install:

Folders

  • src - contains the Parrot class which need to be refactored and a ParrotTypeEnum.
  • tests - contains the corresponding tests. All the tests are passing, and shouldn't need to be changed.

Testing

PHPUnit is pre-configured to run tests. PHPUnit can be run using a composer script. To run the unit tests, from the root of the PHP kata run:

composer tests

On Windows a batch file has been created, similar to an alias on Linux/Mac (e.g. alias pu="composer test"), the same PHPUnit composer test can be run:

pu.bat

Tests with Coverage Report

To run all test and generate a html coverage report run:

composer test-coverage

The test-coverage report will be created in /builds, it is best viewed by opening /builds/index.html in your browser.

Code Standard

Easy Coding Standard (ECS) is used to check for style and code standards, PSR-12 is used.

Check Code

To check code, but not fix errors:

composer check-cs

On Windows a batch file has been created, similar to an alias on Linux/Mac (e.g. alias cc="composer check-cs"), the same composer check-cs can be run:

cc.bat

Fix Code

There are many code fixes automatically provided by ECS, if advised to run --fix, the following script can be run:

composer fix-cs

On Windows a batch file has been created, similar to an alias on Linux/Mac (e.g. alias fc="composer fix-cs"), the same composer fix-cs can be run:

fc.bat

Static Analysis

PHPStan is used to run static analysis checks:

composer phpstan

On Windows a batch file has been created, similar to an alias on Linux/Mac (e.g. alias ps="composer phpstan"), the same composer phpstan can be run:

ps.bat

Happy coding!