題名そのままです。
最近単体テストの記事を見てGoogleTestの入門ガイドなんかを眺めていたとき...
TEST() の引数は,全体そして詳細,の順序に並んでいます.
最初の引数は,テストケースの名前です.
2番目の引数は,テストケースに含まれるテストの名前です.
両者とも有効な C++ の識別子でなければならず,アンダースコア(_)を含んではいけません.
テストケースと個々のテスト名を合わせたものが,テストの完全な名前となります.
属するテストケースが別ならば,個々のテスト名として同じ名前を付けることもできます.
とあり驚きました。
c++erの人はアンダースコア大好きだと思っているので(しらんけど)
自分もアンダースコアで命名することが多く、実際試しに書いていたテストもがっつりアンダースコア使ってました。
アンダースコアを使用してはいけない理由は
GoogleTest界隈では常識なのかもしれないですが初めて知ったので記事にしました。
ちなみに、GoogleTestを使用しているとGoogleTestのREADME.mdにも書かれているヘッダーオンリーディープラーニングライブラリのtiny_dnnはアンダースコアを使用しています。
リポジトリ
追記:どうでもいい情報
現在GoogleTestを使用してないと思われます。
Catch2とかいうイカしたヘッダーオンリーライブラリを使用しているっぽいです。
過去のリリースではGoogleTest使用しています。アンダースコアつきで...