この記事では、GoogleTestでよく使うアサーションの使い方をまとめます。
GoogleTestのアサーションとは、テストが期待通りに動作することを確認するために使用する機能です。
非致命的アサーション
非致命的アサーションは、テストが期待外の結果でもテストの実行を続けます。他のテストも実行され、最後にすべてのアサーションの結果が報告されます。
EXPECT_EQ
val1 == val2
であることを確認します。
EXPECT_EQ(val1, val2)
EXPECT_NE
val1 != val2
であることを確認します。
EXPECT_NE(val1, val2)
EXPECT_LT
val1 < val2
であることを確認します。
EXPECT_LT(val1, val2)
EXPECT_LE
val1 <= val2
であることを確認します。
EXPECT_LE(val1, val2)
EXPECT_GT
val1 > val2
であることを確認します。
EXPECT_GT(val1, val2)
EXPECT_GE
val1 >= val2
であることを確認します。
EXPECT_GE(val1, val2)
致命的アサーション
致命的アサーションは、テストが期待外の結果の場合にテストの実行を即座に中断します。その後のアサーションやテストは実行されません。
ASSERT_EQ
val1 == val2
であることを確認します。失敗するとテストが終了します。
ASSERT_EQ(val1, val2)
ASSERT_NE
val1 != val2
であることを確認します。失敗するとテストが終了します。
ASSERT_NE(val1, val2)
ASSERT_LT
val1 < val2
であることを確認します。失敗するとテストが終了します。
ASSERT_LT(val1, val2)
ASSERT_LE
val1 <= val2
であることを確認します。失敗するとテストが終了します。
ASSERT_LE(val1, val2)
ASSERT_GT
val1 > val2
であることを確認します。失敗するとテストが終了します。
ASSERT_GT(val1, val2)
ASSERT_GE
val1 >= val2
であることを確認します。失敗するとテストが終了します。
ASSERT_GE(val1, val2)
TRUE/FALSE アサーション
基本的なアサーションは、論理的な条件がtrueまたはfalseであることをチェックします。
EXPECT_TRUE
condition
がtrue
であることを期待します。
EXPECT_TRUE(condition)
EXPECT_FALSE
condition
がfalse
であることを期待します。
EXPECT_FALSE(condition)
ASSERT_TRUE
condition
がtrue
であることを確認します。失敗するとテストが終了します。
ASSERT_TRUE(condition)
ASSERT_FALSE
condition
がfalse
であることを確認します。失敗するとテストが終了します。
ASSERT_FALSE(condition)
特定の型のアサーション
特定の型(特に文字列)の比較を行うためのアサーションです。
EXPECT_STREQ
str1
とstr2
が同じ文字列であることを確認します。
EXPECT_STREQ(str1, str2)
EXPECT_STRNE
str1
とstr2
が異なる文字列であることを確認します。
EXPECT_STRNE(str1, str2)
EXPECT_STRCASEEQ
str1
とstr2
が大文字小文字を無視して同じ文字列であることを確認します。
EXPECT_STRCASEEQ(str1, str2)
EXPECT_STRCASENE
str1
とstr2
が大文字小文字を無視して異なる文字列であることを確認します。
EXPECT_STRCASENE(str1, str2)