Skip to content
/ cctest Public

cctest is a simple, practical, and scalable xUnit Test Framework in Modern C++

License

Notifications You must be signed in to change notification settings

ccup/cctest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cctest: Modern C++ xUnit Test Framework

cctest is a simple, practical, and scalable xUnit Test Framework in Modern C++.

C/C++ are different languages from most modern ones. Writing tests for them has some very specific challenges. Therefore, simply clone ideas from xUnit frameworks for other languages does not work the best. Programmers have to suffer accidental complexities brought by most of existing frameworks.

cctest is designed for simplifying efforts of programers, in terms of development, maintenance, flexibility of test management, build & run-time strategy, and others.

Install

$ curl -fsSL https://raw.github.com/ccup/cctest/master/install.sh | sh

Build

$ bazel build //ctest
$ bazel build //ctest:main

Test

$ bazel test //spec/...

Build

$ mkdir build
$ cd build
$ cmake .. 
$ make

If you don't want to run test cases, you should close "CCTEST_RUN_TESTS" option.

$ cmake -DCCTEST_RUN_TESTS=off ..

Test

$ make
$ make test

Install

$ sudo make install

Uninstall

$ cat install_manifest.txt | xargs echo sudo rm | sh

Docker

You can build develop image based ubuntu 18.04.

$ sudo docker build -t ubuntu18.04-dev:1.0 -f dockerfiles/Dockerfile.devel .

And start docker container.

$ sudo docker run -v `pwd`:/root/cctest -it --name cctest ubuntu18.04-dev:1.0