断言语法
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) {
...
}
执行过程:
- 创建QueueTest对象qt
- 调用qt.SetUp()初始化资源
- 使用qt运行test1
- 调用qt.TearDown()销毁资源
- 析构qt