当C/C++中涉及两个进程时,如何使用伪函数框架
How fake function framework can be used when 2 processes are involved in C/C++?
我有一些C代码(我的测试对象),它正在与一些外部库交互。为了进行一些组件测试,我为外部库编写了一个存根。我使用谷歌测试框架来编写测试用例。我在我的测试对象和谷歌测试之间插入了一些信号,这意味着我有两个进程。1个用于google测试,1个用于我的测试对象。一切都很好。
现在,我不想使用存根库,而是希望使用Fake Function Framework(fff.h)在编译时自动生成存根。我知道如何生成存根,但问题是,如果我们有一个进程,它会起作用,但我想将其用于多个进程。由于存根函数是在编译时生成的,是否有任何方法可以从另一个进程访问它们?
您的fff存根可以编译到归档文件(静态库)中,然后静态链接到单元测试二进制文件中。没有理由不能与多个单元测试二进制文件共享同一个库。
也可以将存根编译到一个动态库中,但与多个测试二进制文件动态共享库通常没有意义,因为您的单元应该相互独立地进行单元测试。树桩可能不会重新进入。
相关文章:
- 我们能否在stm32f中使用硬件定时器控制两个独立的进程
- 两个进程可以通过跟踪附加到同一个 PID 吗?
- Directx 12 :在两个进程之间共享图形内存
- 提升消息队列 跨两个进程未接收
- 两个不同的进程,在同一地址上有 2 个 std::atomic 变量?
- 使计时器在C++进程中的特定时间关闭,以便同步两个进程
- 两个并发的 Python 进程可以在 Boost Python 中运行吗?
- 在两个进程之间传递消息
- 两个进程之间的共享映射内存在编辑时未更新
- 在同一台计算机上的两个进程之间使用ROSBridge
- Boost 在两个进程(C 和 C++)之间的managed_shared_memory使用情况
- Boost::ASIO:使用两个进程的双向通信
- 对关键部分的两个进程访问出错
- 如何强制两个进程的执行顺序
- 可以单独调用两个 CreateProcess() 共享相同的启动和进程信息
- 当我使用两个以上的双引号 (\) 时进程未启动
- 两个进程之间共享数组
- 在同一进程中使用的两个模块中具有同步对象的通用名称是否安全
- 从两个进程安全访问文件
- UNIX中两个进程之间通信的最佳方式:一个运行ruby服务器,另一个运行C++客户端