gpt4 book ai didi

c++ - 替换 Dll 中的类以进行单元测试

转载 作者:太空宇宙 更新时间:2023-11-04 12:41:11 24 4
gpt4 key购买 nike

我的目标是使用单元测试来检查 DLL。我已经有一个加载 DLL 并使用 Google 测试对其进行检查的项目。现在我想用模拟替换 DLL 中的一个类并重复测试。

有可能吗?我该怎么做?

最佳答案

有一个链接器小技巧,您可以使用它来解决这个问题。如果链接器在属于测试项目的编译单元中找到您出于测试目的要替换的类,则它不会在 DLL 中搜索它;)

所以你需要做的是:

  1. 将新的源文件 (.cpp) 添加到测试项目(= 链接 GoogleTest 库和您的 DLL 的文件)。
  2. 在这个新的 .cpp 文件中实现假类。确保该类的假版本具有完全相同的签名(即相同的类名、命名空间、方法)。
  3. 实现假类的方法,使它们执行假行为。
  4. 构建测试项目。链接器不应提示缺少或重复定义的符号。

关于c++ - 替换 Dll 中的类以进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54178558/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com