Meaning
Checks that a computed value matches the expected one, raising an AssertionError if not. Commonly used in tests or to enforce invariants during development.
Primary Function
Testing
Communicative Purpose
Expresses the programmer's expectation that two values are equal.
Pattern
assert actual == expected
Core Structure
assert ... == ...
Função primária
Testing
Propósito comunicativo
Expresses the programmer's expectation that two values are equal.
Situações de gatilho
Unit testing: asserting function output matches expected value; Loop invariants: checking cumulative sum stays non-negative; Prototype code: guarding against invalid arguments
Contextos
Python codebases, especially test suites (unittest, pytest) and prototype scripts.
Padrão
assert actual == expected
Estrutura central
assert ... == ...
Slots de substituição
actual: expression, expected: expression
Colocados típicos
- optional message string
- custom error message
Substituições comuns
- self.assertEqual(actual
- expected) in unittest
- assert actual is expected in pytest (assert rewriting)
Erros comuns
Using assert for runtime checks in production code (can be disabled with -O), relying on side effects inside assert, omitting helpful messages.
Similar / contraste
if actual != expected: raise AssertionError('...') – more explicit but less concise.
Interferências
Coming from Java: assert statements are disabled by default unless enabled with a flag; in C/C++ assert may abort the program.
Família do chunk
- assertion
- testing
- defensive programming
Nuance
Assertions are removed when Python runs with the -O (optimize) flag, so they should not be used for validating user input or essential logic.
Efeito pragmático
Detects regressions early, documents intended behavior, and prevents silent logic errors during development.
Dica de memória
Result should equal expected.
Nota
Assert statements are removed when Python is run with the -O optimization flag, so they should not be used for runtime checks that must always execute.
Upgrade path
Use a testing framework's assertion methods, e.g., `self.assertEqual(result, expected)` in unittest or plain `assert result == expected` with pytest's rich introspection.
Log in to save chunks.