Unit Testing

A unit test tests a small "unit" of code - usually a function or method - independently from the rest of the program.

Some key advantages of unit testing include:

  • Isolates code - This allows testing individual units in isolation from other parts of the codebase, making bugs easier to identify.

  • Early detection - Tests can catch issues early in development before code is deployed, saving time and money.

  • Regression prevention - Existing unit tests can be run whenever code is changed to prevent new bugs or regressions.

  • Facilitates changes - Unit tests give developers the confidence to refactor or update code without breaking functionality.

  • Quality assurance - High unit test coverage helps enforce quality standards and identify edge cases.

Every language has its unit testing framework. In Python, some popular ones are

  • unittest

  • pytest

  • doctest

  • testify

Example:

calc.py

def add(a,b):
    return a+b

def subtract(a,b):
    return a-b

def multiply(a,b):
    return a * b

def divide(a, b):
    return a / b

main.py

test_calc.py

Last updated