この記事はHAL Advent Calendar 2017、23日目の記事です。
VisualStudioにGoogleTestを導入する
- https://github.com/google/googletestからclone
- CMakeでprojとslnファイルを生成 or msvc/2010/gtest.slnを使う
- ビルドしてLibを生成 (DebugとRelease両方で)
- GoogleTestを導入するプロジェクトを作成する
- 生成したLibへのパスを通す
- Debugの場合
- Runtime Libraryの設定が /MDd になってる場合 /MTd にする
- gtest_maind.lib gtestd.libにパスを通す
- Releaseの場合
- Runtime Libraryの設定が /MD になってる場合 /MT にする
- gtest_main.lib gtest.libにパスを通す
- Debugの場合
- includeディレクトリにパスを通す
NuGetから入れる方法も有るらしいです。
とりあえずテストコードを書く
#include <gtest/gtest.h> #include "../Source/UtilFunc.h" TEST(UtilFunc, ClampTest) { EXPECT_EQ(0, Clamp(-10, 0, 10)); EXPECT_EQ(0, Clamp(0, 0, 10)); EXPECT_EQ(10, Clamp(10, 0, 10)); EXPECT_EQ(10, Clamp(20, 0, 10)); }
Google Testのドキュメントはこちらに有ります。
googletest/Primer.md at master · google/googletest · GitHub
gtest_main.libをリンクさせておけば、エントリーポイントが無くてもokです。
ただ、リンカに/SUBSYSTEM:CONSOLEを指定しないと、エントリーポイントが無いって怒られることがあるので注意です。
ReSharper?
youtu.be
JetBrains社が開発してるVisualStudioのExtensionです。C#, VB, JS, TS, C++などに対応しており、コード解析、リファクタリング、コード生成、コーディングスタイルの矯正など、様々な機能を取り揃えています。学生なら無料で使えるので試してみるのもどうでしょうか。(JetBrains社の回し者ではありません)