我最近开始研究一个用 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/,它正在运行所有测试用例。现在我被困在如何为我的项目遵循相同的步骤并运行一个虚拟单元测试用例。