Unit Testing
Testing individual units of source code to determine if they are fit for use.
Unit testing is a fundamental level of software testing where the smallest testable parts of an application, called units, are individually and independently scrutinized for proper operation. A unit is typically a function, method, or class. The primary goal of unit testing is to isolate each part of the program and show that the individual parts are correct.
Unit tests are usually written by developers during the coding phase (often using Test-Driven Development or TDD). They provide several benefits: they act as reliable documentation, facilitate refactoring by ensuring changes don't break existing functionality (regression testing), and help detect bugs early in the development lifecycle when they are cheaper to fix. Unit tests are often automated and integrated into Continuous Integration (CI) pipelines to ensure code quality is maintained with every commit. Common frameworks include Jest (JavaScript), JUnit (Java), PyTest (Python), and NUnit (.NET).
graph LR
Center["Unit Testing"]:::main
Rel_integration_testing["integration-testing"]:::related -.-> Center
click Rel_integration_testing "/terms/integration-testing"
Rel_continuous_integration["continuous-integration"]:::related -.-> Center
click Rel_continuous_integration "/terms/continuous-integration"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧒 Explain Like I'm 5
Generated ELI5 content
🤓 Expert Deep Dive
Generated expert content
❓ Frequently Asked Questions
What is a unit in unit testing?
A unit is the smallest testable part of an application, such as a function, method, procedure, or object.
Who performs unit testing?
Unit testing is typically performed by software developers during the development phase.
What is the difference between unit testing and integration testing?
Unit testing focuses on individual components in isolation, while integration testing verifies how those components work together.