【发布时间】:2021-03-30 14:09:14
【问题描述】:
我一直在研究 C++ 中使用 Google Test 进行单元测试。
如果单元测试的目的是确保代码的某些部分或对象按预期的方式工作,我会认为没有必要在最终项目中编译和导出单元测试代码,对吧?无论如何,用户都不会使用它。似乎它使项目规模不必要地变大了。
我的主要问题是:所有单元测试代码是否会与最终项目一起编译和导出,还是我必须在导出之前手动删除所有单元测试?
是否有单元测试和导出项目的最佳(或常见)实践?
【问题讨论】:
-
如果您的被测组件遵循“开放”原则,那么您的所有测试都可以在产品外部,因此不包含在“安装程序”中,但如果是SDK形式,则可以包含图书馆。如果组件遵循“封闭”原则,则可能需要将测试融入内部。您必须确定这些测试的侵入性以及是否需要在生产前将其删除。另见softwareengineering.stackexchange.com/questions/199090/…
标签: c++ unit-testing googletest