README.md

April 13, 2021 ยท View on GitHub

	mockcpp --- A C/C++ Mock Framework
	-------------------------------------
	https://github.com/sinojelly/mockcpp
	https://gitee.com/sinojelly/mockcpp

mockcpp is a jmock-like generic C/C++ Mock Framework, which doesn't use complex template technique which will result in very heavy compiling overhead.

C/C++ test framework

This project provided two tools for C/C++ testing.

NameDescriptionPath
mockcppC/C++ mock frameworkmockcpp
testngppC/C++ test frameworkmockcpp/tests/3rdparty/testngpp

The sample project to use these tools is at :
https://gitee.com/sinojelly/testngpp-mockcpp-sample

You can use mockcpp with other C/C++ test framework, such as gtest, Catch2, CppUTest etc. The sample projects are at:
https://gitee.com/sinojelly/gtest-with-mockcpp
https://gitee.com/sinojelly/catch2-with-mockcpp

You can use mockcpp testngpp prebuilt libraries and header files, or use their source code.

If you use the prebuilt libraries, be sure they are built on the same os and compiler as the project that is being tested.

mockcpp features

OSCompilerVirtual method mockGlobal function mockOverloaded function mock
LinuxGCCYesYesYes
Win10MinGWYesYesYes
Win10VS2019YesNoYes

testngpp features

OSCompilerBase functionMemory leak checkRun in SandboxParameterized test
LinuxGCCYesYesYesYes
Win10MinGWYesNoNoYes
Win10VS2019YesYesYesYes

Sample code

Testngpp parameterized test sample

FIXTURE(DataDrivenTest)
{
	DATA_PROVIDER( mydata, 3
		, DATA_GROUP(1, 2, 3) 
		, DATA_GROUP(77, 20, 97) 
		, DATA_GROUP(101, 503, 604));

	// @test(data="mydata")
	PTEST( (int a, int b, int c), this is a parameterized test)
	{
		ASSERT_EQ(c, add(a, b));
	}
};

Documents for user

New Build System Description(recommended for user and developers)
Mockcpp manual english
Mockcpp manual chinese
Mockcpp simple instruction (Chinese, recommended)
Testngpp simple instruction (Chinese, recommended)
Testngpp user manual (Chinese)

Documents for developer

Advanced Guide of Mockcpp
Mockcpp version history
Software Architecture (Chinese)
Mockcpp configure parameter
Mockcpp Build Guide (a bit old)
Mockcpp Install Guide (old)

Other documents for reference

Testngpp MSVC Installation (old)
Testngpp Introduction

Email to the current maintainers may be sent to darwin.yuan@gmail.com, sinojelly@163.com.