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

标签 c++ unit-testing build

我曾在 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/

相关文章:

c++ - boost zlib 问题

c++ - GLFW 无响应全屏窗口

Asp.net FluentValidation 单元测试对象为 null

unit-testing - TFS 构建和测试影响

docker - 在 dockerfile 中构建项目时, "Unable to find fallback package folder"nuget 错误来自哪里?

c++ - 静态成员对象初始化失败

c++ - 覆盖基类成员变量的初始值

java - 如何在 Mockito 中模拟 instanceof

javascript - MVC3 - 如何在 JavaScript 中动态设置 facebook 应用程序 ID?

c++ - 如何创建具有 CUDA 支持的最新 Tensorflow 版本的调试版本?