業務効率化の道具箱(5)Google Testを使ってみよう【その1】山浦恒央の“くみこみ”な話(158)(2/3 ページ)

» 2022年10月20日 07時00分 公開
※本記事はアフィリエイトプログラムによる収益を得ています

4.単体テストで役立つツール

 有償/無償問わず、単体テストで役立つツールはたくさんあります。その中でも、今回は「Google Test」と「gcov/lcov」を取り上げます。

4.1 Google Test(単体テストフレームワーク)

 Google Testとは、単体テストを効率よく進めるためのツールです※3)。Google Testでは、作法通りにテストコードを書くことで、誰でも簡単に単体テストを実施できます。例えば、アサーションマクロを記述し、期待値と出力値が一致するかどうかの検証が可能です。

※3)Google Testは、厳密にはテスティングフレームワークのことではありますが、今回は「テストツール」として話を進めます。

4.2 gcov/lcov(カバレッジ計測ツール)

 テスト実行時の網羅度を表すカバレッジ計測を手作業で実施することは、非常に困難です(手作業で計測しようと考える人はいないでしょうが)。

 gcovは、フリーのカバレッジ計測ツールです。プログラムの実行時に、カバレッジの計測結果を出力します。また、lcovを使うことで、色付けした到達パスをHTML形式で出力できるため、非常に便利です。

 なお、カバレッジの知識に関しては、過去記事の第84〜90回の「猫でも分かるソフトウェアのテスト網羅」シリーズをご確認ください。

5.ツールの導入

 今回は、実際にツールを導入し、簡単なプログラムで試すところまで実施します。なお、環境構築の手順は、あくまでも一つのケースとお考えいただき、進めてください。

 まず、前回作成したUbuntu環境に、コンパイラ、Google Test、gcov/lcovのインストールを行います。なお、筆者がインストールした時点のバージョンは以下でした(表1)。

種別 ツール名称 バージョン
テストツール Google Test 1.12.1
カバレッジ計測ツール gcov 11.2.0
lcov 1.14
表1 バージョンのまとめ

 それでは、実際にやっていきましょう。

5.1 各種ファイルのアップデート

 Ubuntuのターミナル上から、下記のコマンドを実行し、コンパイラなどを入手します。

sudo apt update
sudo apt upgrade
sudo apt install build-essential

5.2 Google Testのダウンロード

 Google Testをダウンロードします。筆者は、wgetコマンドからGoogle Testを入手しました。

wget https://github.com/google/googletest/archive/release-1.12.1.tar.gz

 正常に動作すれば、圧縮ファイルがダウンロードできますので、解凍してください。

5.3 フォルダを作成し、ビルドする

 下記のコマンドから、ダウンロードした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.