Files

45 lines
1018 B
Markdown
Raw Permalink Normal View History

---
paths:
- "**/*.cpp"
- "**/*.hpp"
- "**/*.cc"
- "**/*.hh"
- "**/*.cxx"
- "**/*.h"
- "**/CMakeLists.txt"
---
# C++ テスト
> このファイルは [common/testing.md](../common/testing.md) を C++ 固有のコンテンツで拡張します。
## フレームワーク
**CMake/CTest** と組み合わせた **GoogleTest**gtest/gmock)を使用する。
## テストの実行
```bash
cmake --build build && ctest --test-dir build --output-on-failure
```
## カバレッジ
```bash
cmake -DCMAKE_CXX_FLAGS="--coverage" -DCMAKE_EXE_LINKER_FLAGS="--coverage" ..
cmake --build .
ctest --output-on-failure
lcov --capture --directory . --output-file coverage.info
```
## サニタイザー
CI では常にサニタイザーを使用してテストを実行する:
```bash
cmake -DCMAKE_CXX_FLAGS="-fsanitize=address,undefined" ..
```
## 参考
詳細な C++ テストパターン、TDD ワークフロー、GoogleTest/GMock の使用方法についてはスキル: `cpp-testing` を参照。