Skip to content

Latest commit

 

History

History
80 lines (59 loc) · 4.06 KB

unittest.md

File metadata and controls

80 lines (59 loc) · 4.06 KB

単体テスト

googletest

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

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

cmake

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

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

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

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

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

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

一覧

バッチファイル 説明
tests\create-project.bat 単体テスト用のプロジェクトファイル作成するバッチファイル
tests\build-project.bat 単体テスト用のプロジェクトをビルドするバッチファイル
tests\run-tests.bat 単体テストを実行するバッチファイル
tests\build-and-test.bat appveyor.yml から呼ばれて上記を呼び出すバッチファイル

呼び出し構造

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

バッチファイル 第一引数 第二引数
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")
tests\build-and-test.bat platform ("Win32" または "x64" または "MinGW") configuration ("Debug" または "Release")

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

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