C++ 构建是否包括运行单元测试?

C++ 构建是否包括运行单元测试?,c++,unit-testing,build,C++,Unit Testing,Build,我曾经在Java上工作过。我使用Ant/Maven使构建过程更容易 我曾经在JUnit框架中编写单元测试。当我说构建所有用于运行的单元测试区域时 这意味着,构建包括编译源代码和对编译后的源代码运行单元测试 现在我开始用VisualC++中的C++来处理新项目。在这里,当我说构建时,只有源代码被编译并与libs链接。但单元测试并没有运行。 所以,现在我对构建过程的实际定义感到困惑 构建过程是否也包括运行测试?或者只是编译和链接源代码?Ant和Maven知道单元测试。如果一个可执行文件被标记为tes

我曾经在Java上工作过。我使用Ant/Maven使构建过程更容易

我曾经在JUnit框架中编写单元测试。当我说构建所有用于运行的单元测试区域时

这意味着,构建包括编译源代码和对编译后的源代码运行单元测试

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


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

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

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

免责声明:我使用的上一个版本是VS2003.NET;从那时起,情况可能有所改善或变得更糟

现在,我使用的构建工具具有最大的灵活性:make。在我目前正在工作的项目中,有一个名为“all”的构建目标,它构建每个可执行文件和测试程序,一个名为“check”的目标,它运行每个测试程序并在需要时构建它们,一个名为“coverage”的目标,它计算代码覆盖率,还有一个名为“run”的目标,它完成上述所有工作。这样我就可以选择运行什么

我希望您可以从中看到,构建过程包括什么取决于构建系统的设置方式。构建过程没有一个通用的定义概念