我最近开始做一个用C语言编写的项目。为了添加单元测试用例,我搜索了C单元测试框架,我遇到了这个答案C-unittest-frameworks。所以我选择了 mocka 并从安装步骤中安装了它。但是我知道如何运行书面测试用例。有人可以帮我从命令行(GCC命令(运行下面的简单单元案例:
#include <stdarg.h>
#include <stddef.h>
#include <setjmp.h>
#include <cmocka.h> /* A test case that does nothing and succeeds. */
static void null_test_success(void **state) {
(void) state; /* unused */
}
int main(void) {
const struct CMUnitTest tests[] = {
cmocka_unit_test(null_test_success),
};
return cmocka_run_group_tests(tests, NULL, NULL);
}
仅供参考,我指的是cmocka。请让我除了 GCC 和 cmocka 之外还需要哪些依赖项。或者需要为 LD 路径等设置任何环境变量。
关于这个问题的更新,我遵循以下步骤:
1. git clone https://gitlab.com/cmocka/cmocka.git
2. cd cmocka && mkdir -p build && cd build/
3. cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Debug -DUNIT_TESTING=ON ..
4. make && make install
毕竟,步骤,如果在构建目录中我执行ctest tests/,它正在运行所有测试用例。现在,我无法为我的项目遵循相同的步骤并运行虚拟单元测试用例。
最后,在互联网上进行更多研究之后,我遇到了这篇关于如何使用 cmocka 运行单元测试用例的写得很好的文章。这是使用 cmocka 运行 c 单元测试用例的链接。
我还分叉了他的 git 存储库并相应地修改了它,看看 git 存储库也 git 代码。
另外,我尝试了另一个框架gtest,看看gtest示例代码