TEST(SimpleTest, Assert) { ASSERT_GT(2, 1); ASSERT_GT(2, 2) << "FATAL"; ASSERT_GE(1, 2) << "NO Touch"; } // using gtest_main 从下面的执行结果可以看出,EXPECT 失败后,会继续执行,而 ASSERT 失败后,当前测试用例立即停止执行。 $ ./simple Running main() from ./googletest/src/gtes...
ASSERT_FALSE( condition ); //二元比较 //等于 EXPECT_EQ( val1 , val2 ); ASSERT_EQ( val1 , val2 ); //不等于,注意比较空指针的时候,使用EXPECT_NE( ptr , nullptr) 而不是 EXPECT_NE( ptr , NULL) EXPECT_NE( val1 , val2 ); ASSERT_NE( val1 , val2 ); //小于 EXPECT_LT( val1...
googleTest 里面使用的术语 Test 在 ISTQB里面称为Test Case. Test 术语是很广的定义,包含了ISTQB里的 Test Case的定义,所以这不是一个很大的问题。 但是 GoogleTest 里面使用的Test Case就是一个有矛盾的术语,因而会让人产生困惑。 GoogleTest 最近开始用 Test Suite来替换 Test Case。推荐使用 TestSuite* 的A...
TEST_F与TEST的区别是,TEST_F提供了一个初始化函数(SetUp)和一个清理函数(TearDown),在TEST_F中使用的变量可以在初始化函数SetUp中初始化,在TearDown中销毁,并且所有的TEST_F是互相独立的,都是在初始化以后的状态开始运行,一个TEST_F不会影响另一个TEST_F所使用的数据,下面是一个例子。//A.h #ifndef A_...
}TEST_F(QueueTest,IsEmptyInitially){EXPECT_EQ(q0_.size(),0);}TEST_F(QueueTest,DequeueWorks){int*n=q0_Dequeue();EXPECT_EQ(n,nullptr);n=q1_.Dequeue();ASSERT_NE(n,nullptr);EXPECT_EQ(*n,1);EXPECT_EQ(q1_.size(),0);deleten;n=q2_.Dequeue();ASSERT_NE(n,nullptr);EXPECT_EQ(*n...
ASSERT_NE( val1 , val2 ) 注意:比较空指针的时候; 使用EXPECT_NE( ptr , nullptr) 而不是 EXPECT_NE( ptr , NULL)。 val1 < val2: EXPECT_LT( val1 , val2 ) ASSERT_LT( val1 , val2 ) val1 <= val2: EXPECT_LE( val1 , val2 ) ASSERT_LE( val1 , val2 ) val1 > val2: EXP...
= nullptr); EXPECT_EQ(1, *n); EXPECT_EQ(0u, q1_.Size()); delete n; n = q2_.Dequeue(); ASSERT_TRUE(n != nullptr); EXPECT_EQ(2, *n); EXPECT_EQ(1u, q2_.Size()); delete n; } // 测试队列:map() TEST_F(QueueTestSmpl3, Map) { MapTester(&q0_); MapTester(&q1_);...
// death test. boolin_subprocess_for_death_test =false; #ifGTEST_HAS_DEATH_TEST in_subprocess_for_death_test = (internal_run_death_test_flag_.get() !=nullptr); #ifdefined(GTEST_EXTRA_DEATH_TEST_CHILD_SETUP_) if(in_subprocess_for_death_test) { ...
首先,应当使用EXPECT_NE(nullptr, ptr)和ASSERT_NE(nullptr, ptr),这是样式指南中的首选语法,因为nullptr没有NULL所具有的类型问题。 由于C++的某些特点,它需要一些特殊的模板元编程技巧来支持使用NULL作为EXPECT_XX()和ASSERT_XX()宏的参数。因此,只会在最需要的地方这样做(否则我们会使googletest的实现更难以维护...
使用如下g++命令编译该代码,注意gtest是一个动态库,需要使用-lgtest进行链接。 g++ test.cpp -o test -lgtest 1. 3.gtest提供的断言宏 官方文档: Assertions Reference | GoogleTest gtest中提供的宏分为ASSERT和EXPECT两种,其中ASSERT宏会在检查到错误的时候直接终止单元测试用例的运行(注意是单个单元测试),而EXPE...