Catch2
Catch2 is mainly a unit testing framework for C++, but it also provides basic micro-benchmarking features and simple BDD macros. Catch2's main advantage is that using it is both simple and natural. Test names do not have to be valid identifiers, assertions look like normal C++ boolean expressions, and sections provide a nice and local way to share set-up and tear-down code in tests. You are on the devel branch, where the v3 version is being developed. v3 brings a bunch of significant changes, the big one being that Catch2 is no longer a single-header library. Catch2 now behaves as a normal library, with multiple headers and separately compiled implementation. Quick and easy to get started. Just download two files, add them to your project and you're away. No external dependencies. As long as you can compile C++14 and have the C++ standard library available. Write test cases as, self-registering, functions (or methods, if you prefer).
Learn more
Citrus
Framework for automated integration tests supporting a wide range of message protocols and data formats! In a typical test scenario the system under test is running on a test infrastructure while interacting with Citrus over various messaging transports. During the test Citrus is able to act on both sides as client and consumer exchanging real request/response messages over the wire. With each test step you can validate the exchanged messages with expected control data including message headers, attachments and body content (e.g. XML, Json, ...). The test provides a Java fluent API to specify the test logic and is fully automated. The repeatable test is nothing but a normal JUnit or TestNG test and can easily run as integration test in a CI/CD pipeline. Kamelets represent Camel-K route snippets that act as standardized event sources and sinks in an event driven architecture.
Learn more
XCTest
Create and run unit tests, performance tests, and UI tests for your Xcode project. Use the XCTest framework to write unit tests for your Xcode projects that integrate seamlessly with Xcode's testing workflow. Tests assert that certain conditions are satisfied during code execution, and record test failures (with optional messages) if those conditions aren’t satisfied. Tests can also measure the performance of blocks of code to check for performance regressions and can interact with an application's UI to validate user interaction flows. A test method is a small, self-contained method that tests a specific part of your code. A test case is a group of related test methods. Add test cases and test methods to a test target to confirm that your code performs as expected. The primary class for defining test cases, test methods, and performance tests. An abstract base class for creating, managing, and executing tests.
Learn more
Pester
Pester is the ubiquitous test and mock framework for PowerShell. Adding Pester tests to Powershell code will enhance code quality and allows you to start creating predictable changes. Visual Studio Code comes with full support for Pester allowing you to create tests quickly. Pester integrates nicely with TFS, Azure, Github, Jenkins, and other CI servers, allowing you to fully automate your development lifecycle. Pester provides a framework for writing and running tests. Pester is most commonly used for writing unit and integration tests, but it is not limited to just that. It is also a base for tools that validate whole environments, computer deployments, database configurations, and so on. Pester tests can execute any command or script that is accessible to a Pester test file. This includes functions, Cmdlets, Modules, and scripts. Pester can be run locally, where it integrates well with Visual Studio Code, and it can of course be integrated into a build script in a CI pipeline.
Learn more