将测试代码构建为库或可执行文件

Build test code as a library or as an executable?

本文关键字:可执行文件 构建 测试 代码      更新时间:2023-10-16

在单元测试和测试驱动开发中,为什么将测试代码构建为库而不是作为测试c++程序的可执行文件更好?

您可以为您的测试代码构建一个单独的可执行文件,并将其作为主应用程序的构建后事件运行。这样,如果测试失败,构建就会失败。大多数c++ ide(如Visual Studio, Eclipse, QtCreator)都支持此功能。

库与可执行文件的参数取决于您希望开发人员如何使用测试。

如果您想要将测试集成到构建过程中,您可能需要一个命令行可执行文件。如果您想让测试可以从某种独立的GUI应用程序运行,您可能需要一个基于窗口的可执行文件。如果您希望测试由指标收集服务器运行,则可能需要将测试托管在服务中。

如果您想要一个以上的方法,您可以选择将测试编译到一个库中,然后将它们链接到每个可执行框架中。但是,如果您只需要命令行执行,那么就不需要GUI或服务选项,也不会从构建单独的静态库中获得任何优势。

两种方法都不是"更好"。根据团队的特定情况和团队的标准选择所需的方法。现在可能也没那么重要。如果您从一个可执行的测试工具开始,您可以稍后将测试分割成一个静态库。

现在开始编写和运行自动化测试远比暂停并对测试实现细节吹毛求疵要重要得多。