Starting code for the GildedRose Refactoring Kata in many programming languages.
Go to file
2025-02-06 15:16:37 +10:30
.gitignore ignore cov 2025-02-06 14:13:07 +10:30
gilded_rose.py r rm redundant else 2025-02-06 15:16:37 +10:30
GildedRoseRequirements.md doc: use markdown for english requirements 2023-12-08 21:13:27 +01:00
GildedRoseTest.test_update_quality.approved.txt t 100% line and branch coverage 2025-02-06 14:57:41 +10:30
README.md t increase coverage 2025-02-06 14:48:05 +10:30
requirements.txt First approval 2025-02-06 14:14:45 +10:30
test_gilded_rose.py r extract func 2025-02-06 15:02:07 +10:30

TODO: Link to Emily's original repo and video on the refactoring process

Getting setup

Firstly, setup a python 3.12 environment. TODO link to 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 htmlcov directory by opening index.html in a browser)