ImperialCollegeLondon / ImperialCollegeLondon/python-template

Test template via `pytest`

Offen
#548 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Python
Sterne
14
Forks
8
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

Testing that the template actually works is currently a bit of a pain and has to be done manually. You have to run cookiecutter manually, then do whatever checks you want on top of the result (e.g. running pre-commit).

There are various checks we run as part of the CI workflow on templates generated with the different packaging options:

  • Run mypy
  • Run pytest
  • Run pre-commit
  • Run mkdocs build --strict
  • Run uv build

We could make each of these separate pytest tests, running each of the commands with subprocess.run. This would make it easier to test locally and would provide other benefits (e.g. easy parameterisation).

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, den bestehenden CI-Workflow und die Tests rund um generierte Templates zu lesen. Prüfe, wie das Template gerendert wird und wie Packaging-Optionen dargestellt werden, und bewerte anschließend separate pytest-Tests, die die aufgeführten Befehle mit subprocess.run aufrufen. Abgeschlossen ist die Aufgabe, wenn die generierten Templates mypy, pytest, pre-commit, mkdocs build --strict und uv build über lokale Tests ausführen können.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
build-system, testing-qa
Issue-Typ
Feature
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
65/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.