一点背景知识:我希望对我的代码进行单元测试,该代码内置到共享对象文件中,例如libabc
. 此代码还调用libjson-c
和libcurl
函数。
我计划为产品代码中的每个函数编写函数式测试,模拟从 和 对其他函数libabc
的libjson-c
调用libcurl
。现在我无法a.c
在单个测试文件中安排给定文件的所有测试,因为在每个测试中我都需要从a.c
.
此外,在单个测试中,我想模拟所有对 的函数调用libjson-c
,libcurl
这样我就不必链接 ( gcc -lcurl -ljson-c
) 依赖项,这需要为从 调用的所有函数编写__wrap
函数a.c
。但是由于每个测试用例都希望在包装的函数中出现一些特定的代码,所以我不能一劳永逸地包装它们。
关于如何编写和安排 CMocka 测试的任何想法?我应该创建一个单独的测试文件,该文件在可执行文件中编译以测试产品代码功能吗?