mockcpp是一个轻量级的C++单元测试框架。此fork用于支持MindStudio等项目。
mockcpp --- C/C++ 模拟框架
https://github.com/sinojelly/mockcpp https://gitee.com/sinojelly/mockcpp
mockcpp 是一个类 jmock 的通用 C/C++ 模拟框架,它不使用复杂的模板技术,因此不会带来沉重的编译开销。
C/C++ 测试框架
本项目提供了两款 C/C++ 测试工具。
| 名称 | 描述 | 路径 |
|---|---|---|
| mockcpp | C/C++ 模拟框架 | mockcpp |
| testngpp | C/C++ 测试框架 | mockcpp/tests/3rdparty/testngpp |
使用这些工具的示例项目位于:
https://gitee.com/sinojelly/testngpp-mockcpp-sample
您可以将 mockcpp 与其他 C/C++ 测试框架配合使用,例如 gtest、Catch2、CppUTest 等。相关示例项目位于:
https://gitee.com/sinojelly/gtest-with-mockcpp
https://gitee.com/sinojelly/catch2-with-mockcpp
您可以使用 mockcpp 和 testngpp 的预构建库及头文件,也可以直接使用其源代码。
如果使用预构建库,请确保它们与被测项目是在相同的操作系统和编译器环境下构建的。
mockcpp 特性
| 操作系统 | 编译器 | 虚函数模拟 | 全局函数模拟 | 重载函数模拟 |
|---|---|---|---|---|
| Linux | GCC | 支持 | 支持 | 支持 |
| Win10 | MinGW | 支持 | 支持 | 支持 |
| Win10 | VS2019 | 支持 | 不支持 | 支持 |
testngpp 特性
| 操作系统 | 编译器 | 基本功能 | 内存泄漏检查 | 沙箱运行 | 参数化测试 |
|---|---|---|---|---|---|
| Linux | GCC | 支持 | 支持 | 支持 | 支持 |
| Win10 | MinGW | 支持 | 不支持 | 不支持 | 支持 |
| Win10 | VS2019 | 支持 | 支持 | 支持 | 支持 |
示例代码
Testngpp 参数化测试示例
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));
}
};
用户文档
新构建系统说明(推荐用户和开发者阅读)
Mockcpp 英文手册
Mockcpp 中文手册
Mockcpp 简明使用说明(中文,推荐阅读)
Testngpp 简明使用说明(中文,推荐阅读)
Testngpp 用户手册(中文)
开发者文档
Mockcpp 高级指南
Mockcpp 版本历史
软件架构(中文)
Mockcpp 配置参数
Mockcpp 构建指南(内容稍旧)
Mockcpp 安装指南(内容旧)
其他参考文档
Testngpp MSVC 安装说明(内容旧)
Testngpp 介绍
可向当前维护者发送邮件至 darwin.yuan@gmail.com、sinojelly@163.com。