Skip to content

Latest commit

 

History

History
86 lines (65 loc) · 4.43 KB

unittest.md

File metadata and controls

86 lines (65 loc) · 4.43 KB

単体テスト

GoogleTest

単体テストフレームワークとしてオープンソースでいくつか公開されていますが、 Google が開発している GoogleTest を使用します。

GoogleTest は GitHub でソースコードが公開されているので git submodule の機能を使用してソースコードを参照してテストと同時にビルドします。

CMake

GoogleTest はビルドシステムに CMake を使用します。 CMake は CMakeLists.txt というテキストファイルにビルド設定を記載して CMake を実行することにより、各プラットフォームに固有のネイティブの ビルドシステム用のファイルを生成してビルドします。

GoogleTest を使用して作成する単体テストも CMake でビルド設定を行います。

CMake は Visual Studio 用のプロジェクト生成に対応しているため Visual Studio 用のプロジェクトを生成してビルドすれば GUI でステップ実行することができます。

単体テストのディレクトリ構造

  • tests
    • compiletests (コンパイルテスト用のファイルを置くディレクトリ)
    • googletest (googletest 用のフォルダー。git submodule)
    • unittests (単体テストの実体を置く。中の構成は要検討)
    • build (ビルド時に生成されるフォルダー。git には登録しない)
      • Win32 (Win32 用のプロジェクトを格納するフォルダー)
      • x64 (x64 用のプロジェクトを格納するフォルダー)

単体テスト関連のバッチファイル

一覧

バッチファイル 説明
tests\build-and-test.bat ビルドと単体テストを順に行う
tests\create-project.bat 単体テスト用のプロジェクトファイルを作成する
tests\build-project.bat 単体テスト用のプロジェクトをビルドする
tests\run-tests.bat 単体テストを実行する

呼び出し構造

使用するバッチファイルの引数

バッチファイル 第一引数 第二引数
tests\build-and-test.bat platform ("Win32" または "x64" または "MinGW") configuration ("Debug" または "Release")
tests\create-project.bat platform ("Win32" または "x64") configuration ("Debug" または "Release")
tests\build-project.bat platform ("Win32" または "x64") configuration ("Debug" または "Release")
tests\run-tests.bat platform ("Win32" または "x64") configuration ("Debug" または "Release")

インクルードディレクトリ

単体テスト用の CMakeLists.txtサクラエディタ用のディレクトリ を インクルードディレクトリに指定しているので、そこからの相対パスを指定すれば、サクラエディタのヘッダーをインクルードできます。