有償/無償問わず、単体テストで役立つツールはたくさんあります。その中でも、今回は「Google Test」と「gcov/lcov」を取り上げます。
Google Testとは、単体テストを効率よく進めるためのツールです※3)。Google Testでは、作法通りにテストコードを書くことで、誰でも簡単に単体テストを実施できます。例えば、アサーションマクロを記述し、期待値と出力値が一致するかどうかの検証が可能です。
※3)Google Testは、厳密にはテスティングフレームワークのことではありますが、今回は「テストツール」として話を進めます。
テスト実行時の網羅度を表すカバレッジ計測を手作業で実施することは、非常に困難です(手作業で計測しようと考える人はいないでしょうが)。
gcovは、フリーのカバレッジ計測ツールです。プログラムの実行時に、カバレッジの計測結果を出力します。また、lcovを使うことで、色付けした到達パスをHTML形式で出力できるため、非常に便利です。
なお、カバレッジの知識に関しては、過去記事の第84〜90回の「猫でも分かるソフトウェアのテスト網羅」シリーズをご確認ください。
今回は、実際にツールを導入し、簡単なプログラムで試すところまで実施します。なお、環境構築の手順は、あくまでも一つのケースとお考えいただき、進めてください。
まず、前回作成したUbuntu環境に、コンパイラ、Google Test、gcov/lcovのインストールを行います。なお、筆者がインストールした時点のバージョンは以下でした(表1)。
種別 | ツール名称 | バージョン |
---|---|---|
テストツール | Google Test | 1.12.1 |
カバレッジ計測ツール | gcov | 11.2.0 |
lcov | 1.14 | |
表1 バージョンのまとめ |
それでは、実際にやっていきましょう。
Ubuntuのターミナル上から、下記のコマンドを実行し、コンパイラなどを入手します。
sudo apt update sudo apt upgrade sudo apt install build-essential
Google Testをダウンロードします。筆者は、wgetコマンドからGoogle Testを入手しました。
wget https://github.com/google/googletest/archive/release-1.12.1.tar.gz
正常に動作すれば、圧縮ファイルがダウンロードできますので、解凍してください。
下記のコマンドから、ダウンロードしたGoogle Testをusr/local/srcに移動します。
sudo mkdir /usr/local/src sudo mv googletest-release-1.12.1 /usr/local/src
次に、ビルドに必要なCMake、make、lcovをダウンロードします。
sudo apt install cmake sudo apt install make sudo apt install lcov
最後に、Google Testをインストールすれば完了です。
cd /usr/local/src/googletest-release-1.12.1 mkdir build cd build cmake .. sudo make install
Copyright © ITmedia, Inc. All Rights Reserved.