2024-02-28 19:40:13 +00:00
2024-02-28 19:40:13 +00:00
2024-02-28 19:40:11 +00:00
2024-02-28 19:40:11 +00:00
2024-02-28 19:40:11 +00:00
2024-02-28 19:40:11 +00:00
2024-02-28 19:40:11 +00:00
2024-02-28 19:40:11 +00:00
2024-02-28 19:40:11 +00:00

Hangman Game

Python console app hangman game based on the code by Mark Patterson

Install dependencies and run

  1. pip install poetry
  2. poetry install
  3. poetry run python app/hangman.py

Lab "Test Coverage" Assignment

Important instructions

  1. do not move/delete the source files from the folders
  2. submission: commit and push your changes to the current project to GitHub
  3. do not edit autograding or classroom files

⚠️ Note: the autograding is simplified on purpose, it will be overwritten after the submission deadline with additional tests and quiz grading

⚠️ Note: app/hangman.py should not be changed, anyways it will be overwritten in the post processing for the final autograding

⚠️ Note: tests/test_hangman.py All your tests should be in this file

⚠️ Note: .github/workflows/main.yaml Your CI pipeline should be in this file

⚠️ Note: For the coverage threashold, use the command line only in the pipeline.

Basis path testing (1pt)

  • Calculate the minimum number of the basis path test cases needed for the 'hangman.py::hangman'

  • Add the number here between the brackets.

Your answer. For example (5):

Q1 (__)

Create test cases (3pt)

  • Create test cases with the minimum 85% of combined coverage (lines and branch coverage) for the whole hangman.py
  • Place your tests under the tests/test_hangman.py folder

⚠️ Note: the hangman.py should not be modified. It will be overwriten for in the final autograding stage after the submission deadline.

Calculate coverage (1pt)

  • What is the line coverage of your test suite for the hangman.py?

Your answer in %. For example (86):

Q2 (__)

  • What is the current branch coverage of your test suite for the hangman.py?

Your answer in %. For example (86):

Q3 (__)

Add CI (1pt)

  • Add main.yaml that runs your test suite from tests/ and has the minimum coverage criteria for the whole hangman.py of 85% for the combined coverage (total coverage including lines + branches)

⚠️ Note: For the coverage threashold, use the command line only in the pipeline. Do not use config files.

Hints

Spoilers

  • you may need to recall the lab on metrics to get the answer to Q1
  • you may need pytest-cov module installed
  • you may need to generate and check coverage.json to get the raw data and calculate exact numbers for the coverage
S
Description
lab-coverage-maksktl created by GitHub Classroom
Readme 186 KiB
Languages
Python 100%