Starting code for the GildedRose Refactoring Kata in many programming languages.
Go to file
2025-02-06 14:22:08 +10:30
.gitignore ignore cov 2025-02-06 14:13:07 +10:30
gilded_rose.py restructure and docs 2025-02-06 14:08:09 +10:30
GildedRoseRequirements.md doc: use markdown for english requirements 2023-12-08 21:13:27 +01:00
GildedRoseTest.test_foo.approved.txt T increase coverage 2025-02-06 14:19:33 +10:30
README.md more docs 2025-02-06 14:12:52 +10:30
requirements.txt First approval 2025-02-06 14:14:45 +10:30
test_gilded_rose.py r immutable 2025-02-06 14:22:08 +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 approval tests 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)