Google Test入門チュートリアル
Google Test入門チュートリアル
アサーション構文
Assert:失敗後終了Expect:失敗後続行ASSERT_TRUE(condition);
ASSERT_FALSE(condition);
ASSERT_EQ(val1, val2);
ASSERT_NQ(val1, val2);
エラーメッセージの印刷に失敗しましたEXPECT_EQ(val1, val2) << "val1 and va2 differ;
スキーマ#スキーマ#
TESTのテスト例//TestSuitName = functionName + "Test"
TEST(TestSuitName, TestName) {
...
}
Test Fixture継承::testing::Testは複数のTESTに同じデータ構成を使用させるclass QueueTest : public ::testing:Test {
protected:
void SetUp() override; // test
void TearDown() override; // test
}
// TEST_F TEST Test Fixture
// TEST_F Test Fixture
TEST_F(QueueTest , test1) {
...
}
プロセスの実行:
ASSERT_TRUE(condition);
ASSERT_FALSE(condition);
ASSERT_EQ(val1, val2);
ASSERT_NQ(val1, val2);
EXPECT_EQ(val1, val2) << "val1 and va2 differ;
TESTのテスト例
//TestSuitName = functionName + "Test"
TEST(TestSuitName, TestName) {
...
}
Test Fixture継承::testing::Testは複数のTESTに同じデータ構成を使用させる
class QueueTest : public ::testing:Test {
protected:
void SetUp() override; // test
void TearDown() override; // test
}
// TEST_F TEST Test Fixture
// TEST_F Test Fixture
TEST_F(QueueTest , test1) {
...
}
プロセスの実行:
テストの開始
InitGoogleTest解析コマンドラインのgoogleTestパラメータ
利用するRUN_ALL-TEST()はすべてのテストを開始し、すべてのテストが成功した場合、0を返し、そうでなければ1を返します.int main(int argc, char* argv[])
{
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
簡単な例です
Foo.h:テスト対象クラスclass Foo {
bool foo(int val);
}
test_data.h:入出力データの格納class TestData {
public:
int val = 0;
}
test_case.h:TestFixtureクラスclass fooFT : public test::Test
{
protected:
void SetUp() {};
void TearDown() {};
Foo m_test; //
};
test_case.cpp #include "test_case.h"
#include "test_data.h"
TEST_F(fooFT, footest)
{
TestData testData;
int val = testData.val;
EXPECT_TRUE(m_test.fooTest(val));
}
int main(int argc, char* argv[])
{
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
Foo.h:テスト対象クラス
class Foo {
bool foo(int val);
}
test_data.h:入出力データの格納
class TestData {
public:
int val = 0;
}
test_case.h:TestFixtureクラス
class fooFT : public test::Test
{
protected:
void SetUp() {};
void TearDown() {};
Foo m_test; //
};
test_case.cpp
#include "test_case.h"
#include "test_data.h"
TEST_F(fooFT, footest)
{
TestData testData;
int val = testData.val;
EXPECT_TRUE(m_test.fooTest(val));
}