All Projects → jimporter → Mettle

jimporter / Mettle

Licence: bsd-3-clause
A C++17 unit test framework

Projects that are alternatives of or similar to Mettle

React Redux Starter Kit
Modular starter kit for React+Redux+React Router projects.
Stars: ✭ 92 (-20.69%)
Mutual labels:  unit-testing
Xunit.analyzers
Roslyn analyzers for xUnit.net (please open issues in https://github.com/xunit/xunit)
Stars: ✭ 102 (-12.07%)
Mutual labels:  unit-testing
Moderncppci
This is an example of doing a Modern C++ project with CI
Stars: ✭ 109 (-6.03%)
Mutual labels:  unit-testing
Kotlinrxmvparchitecture
Clean MVP Architecture with RxJava + Dagger2 + Retrofit2 + Mockito + Fresco + EasiestGenericRecyclerAdapter using Kotlin. Includes Unit Tests(Kotlin Tests)!
Stars: ✭ 94 (-18.97%)
Mutual labels:  unit-testing
Airtap
Run TAP unit tests in 1789+ browsers.
Stars: ✭ 1,364 (+1075.86%)
Mutual labels:  unit-testing
Automation Arsenal
Curated list of popular Java and Kotlin frameworks, libraries and tools related to software testing, quality assurance and adjacent processes automation.
Stars: ✭ 105 (-9.48%)
Mutual labels:  unit-testing
Saul
Experimental annotation-based javascript unit tests 🚀
Stars: ✭ 90 (-22.41%)
Mutual labels:  unit-testing
Sequelize Mock
A simple mock interface specifically for testing code relying on Sequelize models
Stars: ✭ 116 (+0%)
Mutual labels:  unit-testing
Unit Threaded
Advanced unit test framework for D
Stars: ✭ 100 (-13.79%)
Mutual labels:  unit-testing
Swifterswift
A handy collection of more than 500 native Swift extensions to boost your productivity.
Stars: ✭ 10,706 (+9129.31%)
Mutual labels:  unit-testing
Expose
A Dynamic Symbolic Execution (DSE) engine for JavaScript. ExpoSE is highly scalable, compatible with recent JavaScript standards, and supports symbolic modelling of strings and regular expressions.
Stars: ✭ 94 (-18.97%)
Mutual labels:  unit-testing
Js Unit Testing Guide
📙 A guide to unit testing in Javascript
Stars: ✭ 1,346 (+1060.34%)
Mutual labels:  unit-testing
Virtual Alexa
🤖 Easily test and debug Alexa skills programmatically
Stars: ✭ 106 (-8.62%)
Mutual labels:  unit-testing
Vue Test
🏁 DEPRECATED: Component testing for Vue.js
Stars: ✭ 92 (-20.69%)
Mutual labels:  unit-testing
Spring Data Mock
Mock facility for Spring Data repositories
Stars: ✭ 110 (-5.17%)
Mutual labels:  unit-testing
Phpunit Json Assert
PHPUnit assertions for JSON documents
Stars: ✭ 90 (-22.41%)
Mutual labels:  unit-testing
Atoum
The modern, simple and intuitive PHP unit testing framework.
Stars: ✭ 1,382 (+1091.38%)
Mutual labels:  unit-testing
Fakery
👽 Swift fake data generator
Stars: ✭ 1,572 (+1255.17%)
Mutual labels:  unit-testing
Test
The reference C++ unit testing framework (TDD, xUnit, C++03/11/14/17)
Stars: ✭ 112 (-3.45%)
Mutual labels:  unit-testing
Rspec
(Rust) Rspec - a BDD test harness for stable Rust
Stars: ✭ 106 (-8.62%)
Mutual labels:  unit-testing

mettle

Latest release Documentation Build status

mettle is a "batteries included" unit testing framework for C++17. Its mission is to provide a full toolbox to address your testing needs and to look good doing it.

Features

Build your own assertions

Expectations (assertions) are defined using composable matchers that automatically generate human-readable output, ensuring even complex objects are easy to test.

Nest your tests

Suites group your tests together and can be nested as deeply as you need, so you can use their hierarchy to set up and tear down your fixtures for you.

Don't repeat yourself

Type- and value-parameterized tests let you write your tests once and apply them to multiple implementations or preconditions.

Aggregate everything

The mettle universal test runner makes it a snap to write multiple, independent test files – even ones running completely different kinds of tests – and aggregate them into a single list of results.

A Brief Example

A picture is worth a thousand words, and code's almost as good (I'm sure it's worth at least 100 words), so let's take a look at a test file:

#include <mettle.hpp>
using namespace mettle;

suite<> basic("a basic suite", [](auto &_) {

  _.test("a test", []() {
    expect(true, equal_to(true));
  });

  for(int i = 0; i < 4; i++) {
    _.test("test number " + std::to_string(i), [i]() {
      expect(i % 2, less(2));
    });
  }

  subsuite<>(_, "a subsuite", [](auto &_) {
    _.test("a sub-test", []() {
      expect(true, equal_to(true));
    });
  });

});

License

This library is licensed under the BSD 3-Clause license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].