我曾在 Java 上工作。我使用 Ant/Maven 来简化构建过程。
我曾经在 JUnit 框架中编写单元测试。当我说 build
时,所有单元测试区域也用于运行。
这意味着,Build 包括编译源代码和针对编译后的源代码运行单元测试。
现在我开始在 Visual C++ 的新项目中使用 C++。在这里,当我说 build
时,只有源代码被编译并与库链接。但是没有运行单元测试。
所以,现在我对构建过程的实际定义感到困惑。
构建过程是否也包括运行测试?还是只是源代码的编译链接?
最佳答案
Ant 和 Maven“知道”单元测试。如果可执行文件被标记为测试,它将在构建过程中运行。
Visual Studio,AFAIK,没有这个概念。即使可执行文件是使用某些 *Unit 框架编写的,Visual Studio 也会构建它但不会运行它(默认情况下)。可以在构建过程中运行测试,但您需要向测试程序的项目添加构建后步骤以运行可执行文件。
免责声明:我使用的最后一个版本是 VS 2003.NET;从那时起,情况可能有所改善(或变得更糟)。
如今,我使用的构建工具具有最大的灵 active :make
。在我目前正在进行的项目中,有一个名为“all”的构建目标,它构建每个可执行文件和测试程序,一个名为“check”的目标运行每个测试程序(并在需要时构建它们),一个名为“coverage”的目标' 计算代码覆盖率,以及一个名为 'run' 的目标执行上述所有操作。这样我就可以选择要运行的内容。
我希望你能从这里看到“构建过程包括什么”取决于构建系统是如何设置的。 “构建过程”没有一个普遍定义的概念。
关于c++ - 构建是否包括运行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27351475/