如果我想测试它,我应该将我的C ++代码编写为静态或动态库吗?

时间:2017-06-25 15:35:15

标签: c++ visual-studio unit-testing googletest

我正在使用Visual Studio中的C ++项目,并希望使用Google Test对其进行测试。

为了做到这一点,我构建了一个包含三个项目的解决方案:

  1. 将项目代码作为控制台应用程序。
  2. Google Test as an static library。
  3. 将项目作为控制台应用程序进行测试。
  4. 我在代码项目中编写了代码并在测试项目中编写了测试。

    当我尝试构建解决方案时,我得到了一个lnk2019错误,当我将类移到测试项目时停止发生(但这不是我想要的那些)。

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

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

    其他解决方案也受到欢迎。

1 个答案:

答案 0 :(得分:5)

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

你做做出这个决定,以便更容易"测试。您首先必须了解生产要求"对你的交付。您可以创建一个静态库,如果这是最适合您的产品。如果没有,则创建一个动态库。

为了进行测试,您可以使用所选的"交付格式交易&#34 ;;或者你想一个简单的方法,允许你为测试建立一个不同的东西(虽然不鼓励,因为你想测试你的产品,没有其他)。

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

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