1

在单元测试和测试驱动开发中,为什么将测试代码构建为库而不是构建为用于测试 c++ 程序的可执行文件更好?我听到了两者的论据。

4

2 回答 2

0

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

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

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

这两种方法都不是“更好”的。根据团队的具体情况和团队的标准选择您需要的方法。它现在可能也不那么重要。如果您只是从一个可执行的测试工具开始,那么您以后总是可以将测试拆分为一个静态库。

现在就开始编写和运行自动化测试比停下来争论测试实施细节要重要得多。

于 2013-04-30T19:57:16.070 回答
0

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

于 2013-04-27T22:07:20.570 回答