Skip to content

'Testing Assertions' exercise solution is incorrect #1040

@tobyhodges

Description

@tobyhodges

(Reported by a community member over email.)

The Testing Assertions exercise in the Defentsive Programming episode includes one assert statement that does not work as described:

assert int(value) will not raise an AssertionError but instead a ValueError when value cannot be converted to an integer.

The exercise should be updated to account for this. I suggest two possible approaches:

  1. update the solution to mention that a ValueError will be raised, and ideally explaining why the assert statement is never evaluated.
  2. update the exercise example to remove that line.

I know that the idea of replacing assertions with try...except has been the topic of multiple discussions, and @DamienIrving was working on a PR to switch the approach taken in the episode (unfortunately disrupted by the lesson infrastructure transition). I mention this because the appearance of a ValueError rather than an AssertionError from the code in this exercise seems to be a case where try...except could be less confusing for the Learner.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions