为什么我不需要在 cmake 中调用 `add_test`?

Cia*_*lsh 2 c++ unit-testing cmake googletest

我已经看过add_test几次了cmake,但我很困惑,因为我正在使用googletest并且不需要对add_test. 有人可以解释为什么吗?这是由直接处理googletest还是在您使用时不使用此调用googletest

fda*_*dan 5

该命令将目标(或自定义命令)添加到CTest。因此,无论何时ctest在构建目录中执行,所有添加的测试都会被执行。如果您不想使用 CTest 而只是手动执行测试二进制文件,则无需使用add_test.

在较大的项目中,测试通常由多个二进制文件组成,使用单个命令执行所有测试会更方便(尤其是当您的构建管道是自动化的时)。