将测试代码构建为库或可执行文件
Build test code as a library or as an executable?
在单元测试和测试驱动开发中,为什么将测试代码构建为库而不是作为测试c++程序的可执行文件更好?
您可以为您的测试代码构建一个单独的可执行文件,并将其作为主应用程序的构建后事件运行。这样,如果测试失败,构建就会失败。大多数c++ ide(如Visual Studio, Eclipse, QtCreator)都支持此功能。
库与可执行文件的参数取决于您希望开发人员如何使用测试。
如果您想要将测试集成到构建过程中,您可能需要一个命令行可执行文件。如果您想让测试可以从某种独立的GUI应用程序运行,您可能需要一个基于窗口的可执行文件。如果您希望测试由指标收集服务器运行,则可能需要将测试托管在服务中。
如果您想要一个以上的方法,您可以选择将测试编译到一个库中,然后将它们链接到每个可执行框架中。但是,如果您只需要命令行执行,那么就不需要GUI或服务选项,也不会从构建单独的静态库中获得任何优势。
两种方法都不是"更好"。根据团队的特定情况和团队的标准选择所需的方法。现在可能也没那么重要。如果您从一个可执行的测试工具开始,您可以稍后将测试分割成一个静态库。
现在开始编写和运行自动化测试远比暂停并对测试实现细节吹毛求疵要重要得多。
相关文章:
- 使用 Premake5 构建项目不会生成可执行文件或中间体
- 在Visual Studio 2017中构建Qt可执行文件
- 在 eclipse 中以发布模式构建后没有可执行文件
- 为多个测试文件构建可执行文件
- 构建MacOS可执行文件,以便使用cmake(包括OpenCV)进行分发
- 使用 CodeBlocks + GCC 构建的可执行文件是否可以在任何 Windows 上运行?
- 在QMAKE中编译之前,如何使用可执行文件构建多个标头文件
- cmake:构建可执行文件并库并链接它们
- CMake 构建静态可执行文件
- CMake 不会使用 add_executable 构建可执行文件
- 选择在CMAKE中构建库或可执行文件
- 使用LTO静态链接的可执行文件(链接时间优化):如何使用以前构建的库进行制作
- 如何在 VSCODE 中构建、运行和删除可执行文件和虚拟文件
- 构建一个可执行文件,如果是单个 cpp 文件
- 将 CLANG 构建的可执行文件与 G++-v6 构建的 Boost 库链接时出错
- cmake:如何迭代目录中的所有源文件并将每个文件构建到可执行文件中
- 如何使用SCONS构建CPP文件:每个文件都具有可执行文件
- 可视化 将 c++ 可执行文件图标添加到预制件 5 构建脚本
- 为什么?在改变构建结构后,可执行文件的大小显著减少
- Android OS框架-将单个可执行文件构建为共享对象