nlib
|
基本的な単体テスト用マクロが定義されています。 [詳解]
#include <string.h>
#include <new>
#include <string>
#include "nn/nlib/Config.h"
#include "nn/nlib/testing/Printer.h"
#include "nn/nlib/UniquePtr.h"
#include "nn/nlib/SimpleSingleton.h"
#include "nn/nlib/Nflags.h"
クラス | |
class | nn::nlib::testing::Environment |
このクラスを継承してグローバルに実行されるSetUp() とTearDown() を定義します。 [詳解] | |
名前空間 | |
nn::nlib | |
共通して使われる機能やプラットフォームへの依存度が高い機能が実装されます。 nlib Platform APIs も御覧ください。nlib_ns はエイリアスです。 | |
nn::nlib::testing | |
C++のコードをテストするためのフレームワークです。testingライブラリの機能一覧 の説明も御覧ください。 | |
マクロ定義 | |
#define | FRIEND_TEST(test_case, test_name) friend class NLIB_TESTING_CLASS_NAME_(test_case, test_name) |
テストコードがプライベートメンバにアクセスできるように記述します。 [詳解] | |
テスト関数の定義 | |
#define | TEST(test_case_name, specific_test_name) NLIB_TEST_(test_case_name, specific_test_name, ::nlib_ns::testing::Test) |
テスト関数を定義します。 [詳解] | |
#define | TEST_F(test_fixture_name, specific_test_name) NLIB_TEST_(test_fixture_name, specific_test_name, test_fixture_name) |
テストフィクスチャを利用したテスト関数を定義します。 [詳解] | |
テストの開始 | |
#define | RUN_ALL_TESTS() ::nlib_ns::testing::TestInfo::Run() |
テストを開始します。 [詳解] | |
無条件の成功と失敗 | |
#define | FAIL() |
無条件で失敗して現在実行中の関数から抜けます。 | |
#define | SUCCEED() |
何もしません。 | |
条件式のテスト(ASSERT_*) | |
#define | ASSERT_TRUE(expr) NLIB_TESTING_BOOLEAN_IMPL_(expr, true, false, NLIB_TESTING_FATAL_) |
condition がtrue であるかどうかを検証します。失敗した場合は現在実行中の関数から抜けます。 | |
#define | ASSERT_FALSE(expr) NLIB_TESTING_BOOLEAN_IMPL_(!(expr), false, true, NLIB_TESTING_FATAL_) |
condition がfalse であるかどうかを検証します。失敗した場合は現在実行中の関数から抜けます。 | |
条件式のテスト(EXPECT_*) | |
#define | EXPECT_TRUE(expr) NLIB_TESTING_BOOLEAN_IMPL_(expr, true, false, NLIB_TESTING_NONFATAL_) |
ASSERT_TRUE() と同様ですが、失敗した場合でも現在実行中の関数から抜けません。 | |
#define | EXPECT_FALSE(expr) NLIB_TESTING_BOOLEAN_IMPL_(!(expr), false, true, NLIB_TESTING_NONFATAL_) |
ASSERT_FALSE() と同様ですが、失敗した場合でも現在実行中の関数から抜けません。 | |
値のテスト(ASSERT_*) | |
#define | ASSERT_EQ(expected, actual) NLIB_TESTING_ASSERT_HELPER_(::nlib_ns::testing::CompEQ, expected, actual) |
expected == actual であるかどうかを検証します。失敗した場合は現在実行中の関数から抜けます。 [詳解] | |
#define | ASSERT_NE(expected, actual) NLIB_TESTING_ASSERT_HELPER_(::nlib_ns::testing::CompNE, expected, actual) |
val1 != val2 であるかどうかを検証します。失敗した場合は現在実行中の関数から抜けます。 | |
#define | ASSERT_LE(val1, val2) NLIB_TESTING_ASSERT_HELPER_(::nlib_ns::testing::CompLE, val1, val2) |
val1 <= val2 であるかどうかを検証します。失敗した場合は現在実行中の関数から抜けます。 | |
#define | ASSERT_LT(val1, val2) NLIB_TESTING_ASSERT_HELPER_(::nlib_ns::testing::CompLT, val1, val2) |
val1 < val2 であるかどうかを検証します。失敗した場合は現在実行中の関数から抜けます。 | |
#define | ASSERT_GE(val1, val2) NLIB_TESTING_ASSERT_HELPER_(::nlib_ns::testing::CompGE, val1, val2) |
val1 >= val2 であるかどうかを検証します。失敗した場合は現在実行中の関数から抜けます。 | |
#define | ASSERT_GT(val1, val2) NLIB_TESTING_ASSERT_HELPER_(::nlib_ns::testing::CompGT, val1, val2) |
val1 > val2 であるかどうかを検証します。失敗した場合は現在実行中の関数から抜けます。 | |
#define | ASSERT_STREQ(expected, actual) NLIB_TESTING_ASSERT_HELPER_(::nlib_ns::testing::CompStrEq, expected, actual) |
2つのC文字列が等しいかどうかを検証します。失敗した場合は現在実行中の関数から抜けます。 | |
#define | ASSERT_STRNE(expected, actual) NLIB_TESTING_ASSERT_HELPER_(::nlib_ns::testing::CompStrNe, expected, actual) |
2つのC文字列が等しくないかどうかを検証します。失敗した場合は現在実行中の関数から抜けます。 | |
#define | ASSERT_STRCASEEQ(expected, actual) NLIB_TESTING_ASSERT_HELPER_(::nlib_ns::testing::CompStrCaseEq, expected, actual) |
2つのC文字列が等しいかどうかをアルファベットの大文字小文字の違いを無視して検証します。失敗した場合は現在実行中の関数から抜けます。 | |
#define | ASSERT_STRCASENE(expected, actual) NLIB_TESTING_ASSERT_HELPER_(::nlib_ns::testing::CompStrCaseNe, expected, actual) |
2つのC文字列が等しくないかどうかをアルファベットの大文字小文字の違いを無視して検証します。失敗した場合は現在実行中の関数から抜けます。 | |
#define | ASSERT_FLOAT_EQ(expected, actual) NLIB_TESTING_ASSERT_HELPER_(::nlib_ns::testing::CompFloatEq, expected, actual) |
2つのfloat 値がほぼ等しいかどうかを検証します。失敗した場合は現在実行中の関数から抜けます。 [詳解] | |
#define | ASSERT_DOUBLE_EQ(expected, actual) NLIB_TESTING_ASSERT_HELPER_(::nlib_ns::testing::CompDoubleEq, expected, actual) |
2つのdouble 値がほぼ等しいかどうかを検証します。失敗した場合は現在実行中の関数から抜けます。 [詳解] | |
#define | ASSERT_NEAR(val1, val2, abs_error) |
val1 とval2 の差がabs_error 以内に収まるかどうかを検証します。失敗した場合は現在実行中の関数から抜けます。 | |
値のテスト(EXPECT_*) | |
#define | EXPECT_EQ(expected, actual) NLIB_TESTING_EXPECT_HELPER_(::nlib_ns::testing::CompEQ, expected, actual) |
ASSERT_EQ() と同様ですが、失敗した場合でも現在実行中の関数から抜けません。 | |
#define | EXPECT_NE(expected, actual) NLIB_TESTING_EXPECT_HELPER_(::nlib_ns::testing::CompNE, expected, actual) |
ASSERT_NE() と同様ですが、失敗した場合でも現在実行中の関数から抜けません。 | |
#define | EXPECT_LE(val1, val2) NLIB_TESTING_EXPECT_HELPER_(::nlib_ns::testing::CompLE, val1, val2) |
ASSERT_LT() と同様ですが、失敗した場合でも現在実行中の関数から抜けません。 | |
#define | EXPECT_LT(val1, val2) NLIB_TESTING_EXPECT_HELPER_(::nlib_ns::testing::CompLT, val1, val2) |
ASSERT_LT() と同様ですが、失敗した場合でも現在実行中の関数から抜けません。 | |
#define | EXPECT_GE(val1, val2) NLIB_TESTING_EXPECT_HELPER_(::nlib_ns::testing::CompGE, val1, val2) |
ASSERT_GE() と同様ですが、失敗した場合でも現在実行中の関数から抜けません。 | |
#define | EXPECT_GT(val1, val2) NLIB_TESTING_EXPECT_HELPER_(::nlib_ns::testing::CompGT, val1, val2) |
ASSERT_GT() と同様ですが、失敗した場合でも現在実行中の関数から抜けません。 | |
#define | EXPECT_STREQ(expected, actual) NLIB_TESTING_EXPECT_HELPER_(::nlib_ns::testing::CompStrEq, expected, actual) |
ASSERT_STREQ() と同様ですが、失敗した場合でも現在実行中の関数から抜けません。 | |
#define | EXPECT_STRNE(expected, actual) NLIB_TESTING_EXPECT_HELPER_(::nlib_ns::testing::CompStrNe, expected, actual) |
ASSERT_STRNE() と同様ですが、失敗した場合でも現在実行中の関数から抜けません。 | |
#define | EXPECT_STRCASEEQ(expected, actual) NLIB_TESTING_EXPECT_HELPER_(::nlib_ns::testing::CompStrCaseEq, expected, actual) |
ASSERT_STRCASEEQ() と同様ですが、失敗した場合でも現在実行中の関数から抜けません。 | |
#define | EXPECT_STRCASENE(expected, actual) NLIB_TESTING_EXPECT_HELPER_(::nlib_ns::testing::CompStrCaseNe, expected, actual) |
ASSERT_STRCASENE() と同様ですが、失敗した場合でも現在実行中の関数から抜けません。 | |
#define | EXPECT_FLOAT_EQ(expected, actual) NLIB_TESTING_EXPECT_HELPER_(::nlib_ns::testing::CompFloatEq, expected, actual) |
ASSERT_FLOAT_EQ() と同様ですが、失敗した場合でも現在実行中の関数から抜けません。 | |
#define | EXPECT_DOUBLE_EQ(expected, actual) NLIB_TESTING_EXPECT_HELPER_(::nlib_ns::testing::CompDoubleEq, expected, actual) |
ASSERT_DOUBLE_EQ() と同様ですが、失敗した場合でも現在実行中の関数から抜けません。 | |
#define | EXPECT_NEAR(val1, val2, abs_error) |
ASSERT_NEAR() と同様ですが、失敗した場合でも現在実行中の関数から抜けません。 | |
サブルーチンでのアサートを利用する場合に利用 | |
#define | SCOPED_TRACE(msg) |
失敗メッセージを表示する際にスコープの位置の手がかりとなるメッセージを追加します。 [詳解] | |
#define | ASSERT_NO_FATAL_FAILURE(statement) |
サブルーチン(statement )内でASSERT_* が失敗していないかどうか検証します。失敗した場合は現在実行中の関数から抜けます。 [詳解] | |
#define | EXPECT_NO_FATAL_FAILURE(statement) |
EXPECT_NO_FATAL_FAILURE() と同様ですが、失敗した場合でも現在実行中の関数から抜けません。 | |
関数 | |
void | nn::nlib::testing::InitNintendoTest (int *argc, char **argv) |
テストプログラムのコマンドラインオプションを処理します。 | |
void | nn::nlib::testing::InitNintendoTest (int *argc, wchar_t **argv) |
テストプログラムのコマンドラインオプションを処理します。 | |
Environment * | nn::nlib::testing::AddGlobalTestEnvironment (Environment *env) |
Environment へのポインタを渡して、全てのテストの前と後に実行されるコードを登録します。 | |
AssertionResult | nn::nlib::testing::FloatLE (const char *expr1, const char *expr2, float val1, float val2) |
val1 <= val2 を検証します。[ASSERT|EXPECT]_PRED_FORMAT2 に組み込んで利用します。 [詳解] | |
AssertionResult | nn::nlib::testing::DoubleLE (const char *expr1, const char *expr2, double val1, double val2) |
val1 <= val2 を検証します。[ASSERT|EXPECT]_PRED_FORMAT2 に組み込んで利用します。 [詳解] | |
基本的な単体テスト用マクロが定義されています。
NTest.h に定義があります。
© 2013, 2014, 2015 Nintendo Co., Ltd. All rights reserved.