Welcome to the Humble Beginnings series, where we explore the power and flexibility of Pizza Test, a comprehensive and easy-to-use testing framework for C and C++. This series highlights the core capabilities of Pizza Test, guiding you through essential test styles and use cases. From writing your very first unit test to mastering advanced concepts, these codelabs will help you unlock the full potential of this library. Whether you're a beginner or an experienced developer, Pizza Test provides the tools you need to create reliable, maintainable, and expressive tests that seamlessly integrate into your development workflow.
Page No. | Page Title | Description |
---|---|---|
1 | Hello Pizza! | Introduction and writing your first simple unit test |
2 | Test-Driven Development | Writing tests first and driving development |
3 | Behavior Driven Development | Writing expressive BDD-style tests |
4 | Domain Driven Design | Testing with domain concepts and fixtures |
5 | Mocking and Stubbing | Simulating dependencies for isolated testing |
6 | Parameterized Tests | Writing tests that run with multiple input sets |
7 | Performance Testing | Measuring and validating performance characteristics |
8 | Regression Testing | Ensuring changes don't break existing functionality |
9 | Integration Testing | Testing interactions between multiple components |
10 | Challenge | Solving a real-world problem using Pizza Test |
For viewing samples, be sure to look in the code/pages
directory.
Before you begin, ensure you have the following installed:
- Meson Build System: This project uses Meson for building. Visit the official Meson website for installation instructions.
- Install Meson:
Follow the installation guide on the Meson website for your operating system.
-
Clone the Repository:
git clone https://github.com/fossillogic/codelab-pizza-test-beginning.git cd codelab-pizza-test-beginning
-
Configure the Build:
meson setup builddir
-
Compile the Project:
meson compile -C builddir
-
Run the Project:
./<executable-name>
We welcome contributions! Feel free to open pull requests or create issues on the GitHub repository.
Have questions, feedback, or encountered an issue? Please open an issue on the GitHub repository.
This project is licensed under the Mozilla Public License. See the LICENSE
file for more details.