Skip to content

Structured failures

The exception raised when an assertion fails, plus the structured diff it carries. AssertionFailure subclasses AssertionError, so existing except AssertionError handlers keep working. See Errors & reporting for usage.

AssertionFailure

AssertionFailure(
    message: str,
    *,
    actual: object = None,
    expected: object = None,
    diff: DiffResult | None = None,
)

Structured assertion failure with optional diff data.

Subclasses AssertionError for full backward compatibility: existing except AssertionError handlers catch it transparently.

Source code in assertpy2/errors.py
def __init__(
    self,
    message: str,
    *,
    actual: object = None,
    expected: object = None,
    diff: DiffResult | None = None,
):
    super().__init__(message)
    self.actual = actual
    self.expected = expected
    self.diff = diff

DiffResult dataclass

DiffResult(*, kind: str, entries: list[DiffEntry] = list())

Structured diff between two values.

DiffEntry dataclass

DiffEntry(
    *,
    path: str,
    actual: object = None,
    expected: object = None,
)

Single difference between actual and expected values at a specific path.