跳转至

C++ 测试

本文件使用 C++ 特定内容扩展 common/testing.md。

框架

使用与 CMake/CTest 结合的 GoogleTest(gtest/gmock)。

运行测试

cmake --build build && ctest --test-dir build --output-on-failure

覆盖率

cmake -DCMAKE_CXX_FLAGS="--coverage" -DCMAKE_EXE_LINKER_FLAGS="--coverage" ..
cmake --build .
ctest --output-on-failure
lcov --capture --directory . --output-file coverage.info

Sanitizer

在 CI 中始终使用 Sanitizer 运行测试:

cmake -DCMAKE_CXX_FLAGS="-fsanitize=address,undefined" ..

参考

有关详细的 C++ 测试模式、TDD 工作流以及 GoogleTest/GMock 用法,请参见技能:cpp-testing。

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 ev/ECC