変更点は以下の通りです。
- 追加
- --iutest_output オプションで repeat 回数のフォーマットに対応 e.g. --iutest_output=xml:test_%d.xml
- CSV ファイルから値のパラメータ作成に対応
- 値のパラメータ化テストのテスト名指定方法の Google Test 互換対応
- 変更
- IUTEST_ALIAS_TESTNAME_F,IUTEST_JAPANESE_NAME_F の引数の順番を変更
- 値のパラメータ化テストのテスト名指定方法を変更
- IUTEST_TYPED_TEST_APPEND_TYPENAME を IUTEST_HAS_TYPED_TEST_APPEND_TYPENAME に変更
- 修正
- バグ修正
今回 v1.15.0 の追加機能は、3つです。
1つ目は、--iutest_output オプションでテスト結果を出力する際に、リピート回数をファイル名に含められるようにしました。
今までリピート実行した場合に出力されるテスト結果のファイルは1つだけでしたが、フォーマット指定でリピート回数をファイル名に含めることで、リピート毎にファイルを出力できるようになりました。
e.g. --iutest_output=xml:test_%d.xml
2つ目は、CSV ファイルから動的に値のパラメータを生成できるようになりました。以下のように使います。
class CSVValuesTest : public ::iutest::TestWithParam<int> {}; IUTEST_P(CSVValuesTest, Test) { int v = GetParam(); IUTEST_SUCCEED() << v; } IUTEST_INSTANTIATE_TEST_CASE_P(A, CSVValuesTest, ::iutest::CSV<int>("csvparams.csv"));
第一引数に csv ファイルのパスを指定します。
(実行ファイルからの相対パス。パス解決方法をもう少しなんとかしたい…)
動的にパラメータを生成するので、リビルドすることなく csv ファイルを更新するだけでパラメータの変更ができるのがメリットです。
3つ目は、Google Test 互換の値のパラメータ化テストのテスト名指定方法に対応しました。
こちらの機能を含んだ Google Test はまだリリースされていませんが、github で確認できます。
(そろそろ出るかなぁ~と思っていたのですが、まだみたいですね。)
また、今回は破壊的変更が2件あります。
1つ目は IUTEST_ALIAS_TESTNAME_F と IUTEST_JAPANESE_NAME_F の引数の順番を入替えました。
これにより、このマクロを使用していたテストコードに変更が必要になりますが、
こちらの機能は C++03 環境でテスト名に日本語を使いたいために用意したもので、まぁそんなに使われいないだろうということで変えちゃいました。
2つ目は値のパラメータ化テストのテスト名指定方法を変更しています。
v1.14.0 で試験的に入れた機能でしたが Google Test の実装方法との互換性を考慮して、今回から変更がされています。
今回は以上です。
0 件のコメント:
コメントを投稿