0

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

4

1 回答 1

1

最后,在互联网上进行了更多研究后,我看到了这篇写得很好的文章,关于如何使用 cmocka 运行单元测试用例。这是使用 cmocka 运行 c 单元测试用例的链接。

我还分叉了他的 git repo 并相应地对其进行了修改,看看 git repo 还有git code

另外,我尝试了另一个框架 gtest,看看gtest 示例代码

于 2020-01-21T05:59:14.820 回答