我有一些C代码(我的测试对象)正在与一些外部库交互。为了进行一些组件测试,我为外部库编写了一个存根。我使用google测试框架来编写测试用例。我在测试对象和google测试之间设置了一些信号,这意味着我有两个进程。1个用于google测试,1个用于我的测试对象。一切正常。
现在我不想使用stubbed库,而是想使用假函数框架(fff.h),它在编译时自动生成stubbes。我知道如何生成存根,但问题是,如果我们只有一个进程,它就会工作,但我想将它用于多个进程。由于存根函数是在编译时生成的,有没有办法从另一个进程访问它们?
最佳答案
您的fff存根可以编译成一个存档(静态库),然后静态地链接到单元测试二进制文件中。没有理由不能与多个单元测试二进制文件共享同一个库。
也可以将存根编译为动态库,但是与多个测试二进制文件动态共享库通常没有意义,因为您的单元应该独立于其他单元进行单元测试。这些存根可能不会再次进入。