如果要测试,我是否应该将C 代码写为静态或动态库

Should I write my C++ code as a static or dynamic library if I want to test it?

本文关键字:代码 静态 动态 测试 是否 如果      更新时间:2023-10-16

我正在Visual Studio中的C 项目工作,并希望使用Google测试进行测试。

为了这样做,我构建了一个解决方案,其中包括三个项目:

  1. 代码项目作为控制台应用程序。
  2. Google测试作为静态库。
  3. 测试项目作为控制台应用程序。

我在代码项目中写了代码和测试项目中的测试。

当我尝试构建解决方案时,我遇到了一个LNK2019错误,当我将课程移至测试项目时停止发生(但这不是我希望它们的位置(。

我读到,最好的方法是将课程写为库,这样我就可以在(代码和测试(项目中使用它们。

我应该作为静态库还是DLL(以及为什么(?

也欢迎其他解决方案。

在这里要理解的关键:您正在倒退。

您做不是做出此决定以进行"更容易"的测试。首先,您必须了解交付的"生产要求"。您可以创建一个静态库,如果那是最适合运输产品的库。如果没有,您可以创建一个动态库。

用于测试,您要么 deal 使用所选的"交货格式";或者,您考虑了一种简单的方法,可以使您可以构建不同的测试(尽管您想测试产品时都灰心,但没有别的(。

不要误会我的意思:设计进行测试很重要;但是您要要求的决定应由您的生产要求驱动!

换句话说:产品的"外形"应取决于产品要求,不应由您的测试设置确定。