tips:主要用于记录工作中遇到的问题及解决方案
最近刚开始使用gtest,对里面的断言EXPECT_EQ和ASSERT_EQ的区别有疑惑,故记录下来,以备后续查看
TEST(Binary, test){
std::string strPath = "./";
OCROutputItem ocrOutputItem;
IOcrPostAlg* p_ocr_post_alg = CreateIOcrPostAlg();
EXPECT_EQ(true, IsCreateSucessAlg(p_ocr_post_alg)) <<
"The Output of IsCreateSucessAlg(p_ocr_post_alg) must is true"<< std::endl;
p_ocr_post_alg->Init(strPath);
bool is_init = p_ocr_post_alg->IsInit();
ASSERT_EQ(true, p_ocr_post_alg->IsInit()) <<
"The Output of p_ocr_post_alg->IsInit() must is true"<< std::endl;;
p_ocr_post_alg->OcrPostProcessRun(ocrOutputItem);
std::cout << "执行结束......" << std::endl;
}
EXPECT_EQ表示:如果运行到EXPECT_EQ,断言条件不成立,那么后面的代码继续执行(除了断言代码),所以可以执行显示:
std::cout << "执行结束......" << std::endl;
ASSERT_EQ表示:如果运行到ASSERT_EQ,断言条件不成立,立即跳出当前的函数,所以不会执行显示:
std::cout << "执行结束......" << std::endl;