tunit

Modern c++17 unit testing framework on Windows, macOS, Linux, iOS and android.

tunit.png

Features

  • An xUnit test framework.

  • Auto registration of class and method based tests.

  • Rich set of assertions.

 

For more information see:

Examples

The classic first application 'Hello World'.

tunit_hello_world.cpp :

#include <tunit/tunit>

#include <string>

 

using namespace std;

using namespace tunit;

 

namespace unit_tests {

  class test_class_(hello_world_test) {

  public:

    void test_method_(create_string_from_literal) {

      string s = "Hello, World!";

      assert::are_equal("Hello, World!", s);

    }

    

    void test_method_(create_string_from_chars) {

      string s = {'H', 'e', 'l', 'l', 'o', ',', ' ', 'W', 'o', 'r', 'l', 'd', '!'};

      valid::are_equal(13, s.size());

      string_assert::starts_with("Hello,", s);

      string_assert::ends_with(" World!", s);

    }

  };

}

int main(int argc, char* argv[]) {

  return console_unit_test(argv, argc).run();

}

CMakeLists.txt :

cmake_minimum_required(VERSION 3.3)

 

project(tunit_hello_world)

find_package(xtd.tunit REQUIRED)

add_executable(${PROJECT_NAME} tunit_hello_world.cpp)

target_link_libraries(${PROJECT_NAME} tunit)

Output

Start 2 tests from 1 test case Run tests:

  SUCCEED hello_world_test.create_string_from_literal (0 ms total)

  SUCCEED hello_world_test.create_string_from_chars (0 ms total)

 

Test results:

  SUCCEED 2 tests.

End 2 tests from 1 test case ran. (0 ms total)

Getting Started