Skip to content

erbsland-dev/erbsland-unittest

Erbsland Unit Testing System

Welcome to Erbsland UnitTest, a standalone unit testing system originally designed for testing Erbsland libraries and applications. Built with a focus on minimal dependencies—making it practically dependency-free—it serves as a lightweight and flexible testing framework. The system is compatible with any C++17 or newer compiler.

While no special build tools are required to use this framework, for a more convenient experience, CMake and Python are recommended.

Where to start?

Please read the Getting Started chapter where you get a step-by-step guide how to set up your first unit test.

▶️ Getting Started

Or just have a look at the example project that demonstrates the recommended project structure and most of the basic features.

▶️ Example Project

Documentation

Read the full documentation where you learn how to set up and write unit tests:

▶️ Documentation

Requirements

  • Code Level Requirements
    • A C++ compiler compatible with C++17 or later versions.
    • A C++ standard library that supports C++17 features.
  • Build and Metadata System Requirements:
    • CMake version 3.25 or newer.
    • Python 3.11 or newer to compile the metadata.

▶️ Requirements

Goals

  • Dependency-Free
  • User-Friendly
  • Minimalistic
  • Modern
  • Secure

▶️ More about the goals...

Bugreports and Feature Requests

Please use the GitHub issue tracker to report bugs or request features:

▶️ Report an Issue

License

Copyright © 2023 Tobias Erbsland https://erbsland.dev/ and EducateIT GmbH https://educateit.ch/ According to the copyright terms specified in the file "COPYRIGHT.md".

SPDX-License-Identifier: LGPL-3.0-or-later

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program 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. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see https://www.gnu.org/licenses/.