GoogleTest は現在、Abseil Live at Head の哲学に従っています。できるだけ頻繁にmain
ブランチの最新のコミットに更新することをお勧めします。 v${major}.${minor}.${patch}
のタグが付いたセマンティック バージョンが不定期に公開されます (例: v1.15.2
)。
私たちのドキュメントは現在、https://google.github.io/googletest/ の GitHub ページで公開されています。リポジトリで直接ドキュメントを参照するのではなく、GitHub Pages でドキュメントを参照することをお勧めします。
リリース 1.15.2 が利用可能になりました。
1.15.x ブランチには少なくとも C++14 が必要です。
私たちは継続的統合のために Google の内部システムを使用しています。
アブセイルに依存する予定です。
このリポジトリは、以前は別々だった GoogleTest プロジェクトと GoogleMock プロジェクトを統合したものです。これらは非常に密接に関連していたので、一緒に維持してリリースすることが理にかなっています。
ドキュメントについては、GoogleTest ユーザー ガイドを参照してください。 GoogleTest Primer から始めることをお勧めします。
GoogleTest の構築の詳細については、googletest/README.md を参照してください。
xUnit テスト フレームワーク:
Googletest は、単体テストの一般的なアーキテクチャである xUnit テスト フレームワークに基づいています。
テストの検出:
Googletest はテストを自動的に検出して実行するため、テストを手動で登録する必要がなくなります。
豊富なアサーションのセット:
Googletest は、等価、不平等、例外などのさまざまなアサーションを提供し、コードのテストを簡単にします。
ユーザー定義のアサーション:
Googletest を使用して独自のアサーションを定義できるため、コードに固有のテストを簡単に作成できます
死亡検査:
Googletest は、コードが特定の方法で終了することを検証するデス テストをサポートしているため、エラー処理コードのテストに役立ちます
致命的な失敗と致命的ではない失敗:
Googletest ではテストの失敗を致命的として扱うか非致命的として扱うかを指定できるため、失敗が発生した場合でもテストの実行を継続できます。
値パラメータ化されたテスト:
Googletest は、異なる入力値を使用して複数回実行される値パラメーター化されたテストをサポートしているため、異なる入力を受け取る関数のテストに役立ちます
型パラメータ化されたテスト:
Googletest は、さまざまなデータ型で実行される型パラメータ化されたテストもサポートしているため、さまざまなデータ型で動作する関数のテストに役立ちます
テストを実行するためのさまざまなオプション:
Googletest には、個別のテストの実行、特定の順序でのテストの実行、並列テストの実行など、テストを実行するための多くのオプションが用意されています。
GoogleTest は、Google の Foundational C++ サポート ポリシーに従います。現在サポートされているバージョンのコンパイラ、プラットフォーム、ビルド ツールのリストについては、この表を参照してください。
GoogleTest は、Google の多くの内部プロジェクトに加えて、次の注目すべきプロジェクトでも使用されています。
Chromium プロジェクト (Chrome ブラウザと Chrome OS の背後)。
LLVM コンパイラ。
プロトコル バッファー、Google のデータ交換形式。
OpenCV コンピューター ビジョン ライブラリ。
GTest Runner は、Qt5 ベースの自動テスト ランナーであり、Windows および Linux プラットフォーム用の強力な機能を備えたグラフィカル ユーザー インターフェイスです。
GoogleTest UI は、テスト バイナリを実行し、進行状況バーを介して進行状況を追跡し、テストの失敗のリストを表示するテスト ランナーです。いずれかをクリックすると、失敗のテキストが表示されます。 GoogleTest UI は C# で書かれています。
GTest TAP リスナーは、テスト結果出力用の TAP プロトコルを実装する GoogleTest のイベント リスナーです。テストランナーが TAP を理解している場合は、それが役立つ可能性があります。
gtest-Parallel は、バイナリからテストを並列実行して大幅な高速化を実現するテスト ランナーです。
GoogleTest アダプターは、GoogleTest をツリー ビューで表示し、テストを実行/デバッグできるようにする VS Code 拡張機能です。
C++ TestMate は、GoogleTest をツリー ビューで表示し、テストを実行/デバッグできるようにする VS Code 拡張機能です。
Cornichon は、GoogleTest のスタブ コードを生成する小さな Gherkin DSL パーサーです。
このプロジェクトへの貢献方法の詳細については、 CONTRIBUTING.md
ご覧ください。
テストを楽しんでください。