変更点は以下の通りです。
- 追加
- Matcher に MatchesRegex,ContainsRegex を追加
- Matcher に ElementsAreArrayForward を追加
- IUTEST_*_MATCHES_REGEXEQ,NE、IUTEST_*_CONTAINS_REGEXEQ,NE 追加
- --iutest_filter=@filter.txt のようにファイルからフィルター指定できるように対応
- quick_exit 対応
- Visual Studio 2015 RC 対応
- twilio 対応
- Nuget パッケージ公開
- 変更
- IUTEST_PACKAGE v2 (多重定義制限の撤廃)
- ElementsAreArray で要素数の一致チェックを行うように変更(以前までの ElementsAreArray は ElementsAreArrayForward に変更)
- IUTEST_REPORT_SKIPPED を IUTEST_HAS_REPORT_SKIPPED に変更
- 修正
- IUTEST_MAKE_PEEP で関数ポインターの typedef をしなくてもいいように修正
- バグ修正
今回は、正規表現 Matcher と Assertion の追加が大きな変更点です。
以前のバージョンから挙動を変更している部分もありますので、ご注意ください。
今回更新した機能の一部を紹介したいと思います。
正規表現アサーション
IUTEST(AssertionTest, MATCHES_REGEXEQ) { const char test[] = "te0123st"; IUTEST_ASSERT_MATCHES_REGEXEQ("te[0-9]*st", test); }
- IUTEST_*_MATCHES_REGEXEQ
- IUTEST_*_MATCHES_REGEXNE
- IUTEST_*_CONTAINS_REGEXEQ
- IUTEST_*_CONTAINS_REGEXNE
これらアサーションは拡張機能なので、Google Test モードでも使用できます。
また、アサーションとは別に正規表現 Matcher も追加しています。
こちらは、Google Mock 同等の MatchesRegex, ContainsRegex が使用できます。
ファイルからのフィルター指定
--iutest_filter=@filepathのように、@ を付けてパス指定をすることでファイルからフィルターの指定をできるようにしました。
コマンドライン引数には、長さの上限があるのでとても長いフィルターを指定したい場合に役立ちそうです。
また、CI 環境でテストの推移によってフィルターを変える、というような使い方もできそうですね。
IUTEST_PACKAGE v2 (多重定義制限の撤廃)
最後は地味な修正ですが、IUTEST_PACKAGE の制限を撤廃しました。これまで、IUTEST_PACKAGE は一つのパッケージに付き、一箇所でしか使用できませんでした。
なので、以下のようにヘッダーファイルで IUTEST_PACKAGE(pkg1) をしたら、ソースファイルでは普通に namespace pkg1 と書く必要がありました。
// ヘッダー IUTEST_PACKAGE(pkg1) { }
// ソース namespace pkg1 { }
こらが、v1.12.0 以降からはすべて IUTEST_PACKAGE(pkg1) のように統一した書式で書けるようになります。
// ソースでもヘッダーでも IUTEST_PACKAGE(pkg1) { }
今回はこれで以上となります。
Twilio 対応、NuGet 対応については、別途ブログに書いてますので、そちらを参照してください。
ブログズミ: Twilio を使ってみた - その5
NuGet は次週。それでは。
0 件のコメント:
コメントを投稿