Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/144.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C/C+中涉及两个流程时如何使用假功能框架+;?_C++_C_Unit Testing_Testing - Fatal编程技术网

C++ C/C+中涉及两个流程时如何使用假功能框架+;?

C++ C/C+中涉及两个流程时如何使用假功能框架+;?,c++,c,unit-testing,testing,C++,C,Unit Testing,Testing,我有一些C代码(我的测试对象),它正在与一些外部库交互。为了进行一些组件测试,我为外部库编写了一个存根。我正在使用googletestframework编写测试用例。我在测试对象和google测试之间设置了一些信号,这意味着我有两个进程。1个用于google测试,1个用于我的测试对象。一切正常 现在,我不想使用stubbed库,而是想使用在编译时自动生成stubbes的假函数框架(fff.h)。我知道如何生成stubbe,但问题是,如果我们只有一个进程,它就可以工作,但我想将它用于多个进程。由于

我有一些C代码(我的测试对象),它正在与一些外部库交互。为了进行一些组件测试,我为外部库编写了一个存根。我正在使用googletestframework编写测试用例。我在测试对象和google测试之间设置了一些信号,这意味着我有两个进程。1个用于google测试,1个用于我的测试对象。一切正常


现在,我不想使用stubbed库,而是想使用在编译时自动生成stubbes的假函数框架(fff.h)
。我知道如何生成stubbe,但问题是,如果我们只有一个进程,它就可以工作,但我想将它用于多个进程。由于存根函数是在编译时生成的,有没有办法从另一个进程访问它们

您的fff存根可以编译成归档文件(静态库),然后静态链接到单元测试二进制文件中。您没有理由不能与多个单元测试二进制文件共享同一个库


也可以将存根编译到动态库中,但是与多个测试二进制文件动态共享库通常没有意义,因为您的单元应该彼此独立地进行单元测试。存根可能不是可重入的。

您的fff存根可以编译到存档(静态库)中,然后静态链接到单元测试二进制文件中。您没有理由不能与多个单元测试二进制文件共享同一个库


也可以将存根编译到动态库中,但是与多个测试二进制文件动态共享库通常没有意义,因为您的单元应该彼此独立地进行单元测试。存根可能不会重新进入。

分享你的研究成果对每个人都有帮助。告诉我们您尝试了什么,以及为什么它不能满足您的需求。这表明你花了时间来帮助自己,它使我们避免重复显而易见的答案,最重要的是,它帮助你得到一个更具体和相关的答案!也就是说,您能否详细说明您是如何尝试使用FFF的,以及您遇到了哪些错误/问题?我已经为外部库编写了一个存根,花了几周时间。fff用于自动生成存根函数,这将减少一些开销工作。无需编写大型存根库。我试图理解当涉及两个进程时,如何使用这个框架。-->您用它做了哪些尝试,以及您面临的实际问题是什么?正如我所描述的,fff将生成存根函数,它们将在编译时的测试过程中生成。我正在向我的测试对象发送信号,测试对象将处理该信号并调用我已存根的外部库函数。现在的问题是,这些存根函数在第二个过程中不可用。共享您的研究可以帮助所有人。告诉我们您尝试了什么,以及为什么它不能满足您的需求。这表明你花了时间来帮助自己,它使我们避免重复显而易见的答案,最重要的是,它帮助你得到一个更具体和相关的答案!也就是说,您能否详细说明您是如何尝试使用FFF的,以及您遇到了哪些错误/问题?我已经为外部库编写了一个存根,花了几周时间。fff用于自动生成存根函数,这将减少一些开销工作。无需编写大型存根库。我试图理解当涉及两个进程时,如何使用这个框架。-->您用它做了哪些尝试,以及您面临的实际问题是什么?正如我所描述的,fff将生成存根函数,它们将在编译时的测试过程中生成。我正在向我的测试对象发送信号,测试对象将处理该信号并调用我已存根的外部库函数。现在的问题是,这些存根函数在第二个进程中不可用。