MENU

【GoogleTest】アサーションの使い方まとめ

この記事では、GoogleTestでよく使うアサーションの使い方をまとめます。

GoogleTestのアサーションとは、テストが期待通りに動作することを確認するために使用する機能です。

参考:Google Test ドキュメント日本語訳

目次

非致命的アサーション

非致命的アサーションは、テストが期待外の結果でもテストの実行を続けます。他のテストも実行され、最後にすべてのアサーションの結果が報告されます。

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

conditiontrueであることを期待します。

EXPECT_TRUE(condition)

EXPECT_FALSE

conditionfalseであることを期待します。

EXPECT_FALSE(condition)

ASSERT_TRUE

conditiontrueであることを確認します。失敗するとテストが終了します。

ASSERT_TRUE(condition)

ASSERT_FALSE

conditionfalseであることを確認します。失敗するとテストが終了します。

ASSERT_FALSE(condition)

特定の型のアサーション

特定の型(特に文字列)の比較を行うためのアサーションです。

EXPECT_STREQ

str1str2が同じ文字列であることを確認します。

EXPECT_STREQ(str1, str2)

EXPECT_STRNE

str1str2が異なる文字列であることを確認します。

EXPECT_STRNE(str1, str2)

EXPECT_STRCASEEQ

str1str2が大文字小文字を無視して同じ文字列であることを確認します。

EXPECT_STRCASEEQ(str1, str2)

EXPECT_STRCASENE

str1str2が大文字小文字を無視して異なる文字列であることを確認します。

EXPECT_STRCASENE(str1, str2)
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

20代の組み込みソフトウェアエンジニア
主な使用言語はC++

---------------------資格---------------------
応用情報技術者
ネットワークスペシャリスト

目次