皆さん、C++のテストフレームワークは何を使っていますか? 最近はBoost.Testやgoogletestあたりが一般的ですね。私は個人的に IUTest というものを使ったりもします。 しかし、C++はコンパイル時計算を行う言語です(個人の感想です)。 だったらテストだってコンパイル時にやりたいと思いませんか? 思いますよね。やりましょう。 コンパイル時テストのやり方 C++にはstatic_assertという機能があります。コンパイル時に式を評価して、falseになった場合コンパイルエラーにしてエラーメッセージを出してくれる機能です。 高機能なテストフレームワークを使うのも便利ですが、コンパイル時に解決できるテストはこれを使って書くことができます。 static_assertの文法は単純です。任意のboolに変換可能な定数式をexpとすると、 static_assert(exp, "
![C++: コンパイル時テストのススメ|TechRacho by BPS株式会社](https://cdn-ak-scissors.b.st-hatena.com/image/square/6953bf2d4d4e0fc376c9236e800f3d3a62698b0b/height=288;version=1;width=512/https%3A%2F%2Ftechracho.bpsinc.jp%2Fwp-content%2Fuploads%2F2018%2F01%2Fcpp_logo_eyecatch2.png)