mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-04 09:11:39 +00:00
Starting code for the GildedRose Refactoring Kata in many programming languages.
| .gitignore | ||
| gilded_rose.py | ||
| GildedRoseRequirements.md | ||
| README.md | ||
| requirements.txt | ||
| test_gilded_rose.py | ||
| test_gilded_rose.test_update_quality.approved.txt | ||
This is a refactoring and implementation kata for the Gilded Rose Kata. In the main branch, I've used the lift up conditional refactoring, inspired by Emily Bache and Llewellyn Falco.
See their videos here:
TODO: link vids
- Emily Bache:
- Llewellyn Falco:
Getting setup
Firstly, setup a python 3.12 environment using venv
Then, install the requirements:
pip install -r requirements.txt
Running the tests
This project uses [characterisation tests](TODO: Link to characterisation/approval tests concept) to ensure the behavior of the code remains the same during refactoring.
coverage run --branch -m pytest --approvaltests-add-reporter=diffuse -s ;
coverage html ;
coverage report --fail-under=100
This will run the tests, and will also:
- automatically bring up [diffuse](TODO: link to) to view differences side by side, if there are any behavior changes
- warn you if your coverage falls below 100% (either you need more tests, or there is dead code)
- generate a coverage report (You can view this in the
htmlcovdirectory by openingindex.htmlin a browser)