构建是否包含运行单元测试?

时间:2014-12-08 04:34:29

标签: c++ unit-testing build

我曾在Java上工作过。我正在使用Ant / Maven来简化构建过程。

我曾经在JUnit框架中编写单元测试。当我说build时,所有单位测试区域都已经运行了。

所以这意味着,Build包括编译源代码并针对已编译的源代码运行单元测试。

现在我开始在Visual C ++中使用C ++处理新项目。在这里,当我说build时,只编译源并与libs链接。但单元测试没有运行。 所以,现在我对构建过程的实际定义感到困惑。

构建过程是否也包括运行测试?或者只是编译和链接源代码?

1 个答案:

答案 0 :(得分:0)

Ant和Maven“知道”单元测试。如果可执行文件被标记为test,则它将在构建过程中运行。

Visual Studio,AFAIK,没有这个概念。即使使用某些* Unit框架编写可执行文件,Visual Studio也会构建它但不运行它(默认情况下)。可以在构建过程中运行测试,但是您需要在测试程序的项目中添加一个构建后的步骤来运行可执行文件。

免责声明:我使用的最后一个版本是VS 2003.NET;从那以后事情可能会有所改善(或变得更糟)。

如今,我使用构建工具具有最大的灵活性:make。在我正在开发的项目中,有一个名为'all'的构建目标,它构建每个可执行文件和测试程序,一个名为'check'的目标,它运行每个测试程序(并在需要时构建它们),一个名为'coverage的目标'它计算代码覆盖率,以及一个名为'run'的目标,它完成上述所有操作。通过这种方式,我可以选择要运行的内容。

我希望您可以从中看到“构建过程包含的内容”取决于构建系统的设置方式。没有一个普遍定义的“构建过程”概念。