Skip to content

erbsland-dev/erbsland-unittest

Erbsland Unit Testing System

Welcome to Erbsland Unit Test — a lightweight and modern unit testing framework designed specifically for C++20 and beyond. Originally created for testing Erbsland libraries and applications, this system is tailored to be practically dependency-free, offering developers a clean and minimalistic testing environment.

Compatible with any C++20-compliant compiler, this framework is perfect for those who value simplicity and control in their testing workflows.

Although no external build tools are strictly required, we recommend using CMake and Python for a more streamlined experience, especially when working with metadata.

Getting Started 🚀

If you're new here, the best place to begin is the step-by-step Getting Started Guide. It walks you through everything you need to write and run your first unit test:

▶️ Getting Started

Or jump straight into the code with our hands-on example project, which showcases the suggested project layout and core testing features:

▶️ Example Project

Documentation 📚

The full documentation provides comprehensive coverage on setting up your environment, writing unit tests, configuring metadata, and more:

▶️ Full Documentation

Requirements

To build and use the framework, make sure your environment meets the following criteria:

Code-Level Requirements

  • A C++ compiler with full C++20 support.
  • A standard library implementation compatible with C++20.

Build and Metadata Tools (Recommended)

  • CMake version 3.25 or newer.
  • Python 3.11 or newer (used for metadata compilation).

▶️ Detailed Requirements

Project Goals

Our design philosophy emphasizes:

  • Dependency-Free — no third-party libraries required.
  • User-Friendly — intuitive syntax and setup.
  • Minimalistic — only the essentials, nothing more.
  • Modern — aligned with current and upcoming C++ standards.
  • Secure — tested and built with safety in mind.

▶️ Learn more about our goals

Bug Reports & Feature Requests

Found a bug? Have a feature in mind? We value community input and encourage you to contribute via our GitHub issue tracker:

▶️ Report an Issue

License

Copyright © 2025 Tobias Erbsland and EducateIT GmbH

This project is licensed under the GNU Lesser General Public License v3.0 or later (LGPL-3.0-or-later). See the file COPYRIGHT.md for details.

This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY — without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Learn more at: https://www.gnu.org/licenses/

About

The standalone and robust unit test system for libraries and applications.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •