我正在 Visual Studio 中开发一个 C++ 项目,并想使用 Google Test 对其进行测试。
为了做到这一点,我构建了一个包含三个项目的解决方案:
- 将项目编码为控制台应用程序。
- Google Test 作为静态库。
- 将项目作为控制台应用程序进行测试。
我在代码项目中编写了代码,在测试项目中编写了测试。
当我尝试构建解决方案时,出现了 lnk2019 错误,当我将类移至测试项目时,该错误不再发生(但这不是我希望它们所在的位置)。
我读到,最好的方法是将这些类编写为库,这样我就可以在(代码和测试)项目中使用它们。
我应该将其作为静态库还是 DLL 来实现(以及为什么)?
也欢迎其他解决方案。
最佳答案
这里要理解的关键是:你把事情搞倒了。
您不会做出此决定是为了进行“更容易”的测试。您首先必须了解交付的“生产要求”。如果静态库最适合交付您的产品,您可以创建一个静态库。如果没有,您创建一个动态库。
为了进行测试,您可以处理所选的“交付格式”;或者您考虑一种简单的方法,允许您构建不同的东西来进行测试(尽管不鼓励这样做,因为您想测试您的产品,仅此而已)。
不要误会我的意思:为测试而设计很重要;但您要求的决定应该由您的生产要求决定!
换句话说:您产品的“外形尺寸”应取决于产品要求,而不应由您的测试设置决定。
关于c++ - 如果我想测试 C++ 代码,应该将其编写为静态库还是动态库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44747872/