GTEST常见用法 --- LINUX

本文详细解析了断言宏如ASSERT与EXPECT系列的区别及使用场景,对比了TEST_F与TEST的特性,并通过实例说明如何有效利用这些工具进行单元测试,确保代码质量。

1. 概念:

            ASSERT_系列:如果当前点检测失败则退出当前函数;

            EXPECT_系列:如果当前点失败则继续往下执行; 

            ASSERT_TRUE(参数):期待结果为true;

            ASSERT_FALSE(参数):期待结果为false;

            ASSERT_XX(EQ、NE、LT、GT、LE、GE):数值的比较;

            ASSERT_STRXX(EQ、NE、CASEEQ、CASENE):字符串的比较;

2. 区别:

           TEST_F 提供了初始函数和清理函数,在TEST_F中使用的变量可以在SetUp中初始化。在TearDown中销毁,并且TEST_F是相互独立的,都是在初始化以后开始运行,多个TEST_F之间不会相互影响;

           TEST第一个参数是测试用用例名,第二个参数是测试名;随后的测试结果将以“测试用例名.测试名”的形式给出。

3. 实例:

            <TODO>

4. 知识点:

            *  如果对自动输出的错误信息不太满意的话,也是可以通过operator<<能够在失败的时候打印日志,将一些自定义的信息输出;

            * EXPECT用法与ASSERT相似;

 

arm-seev300-linux-uclibcgnueabihf-g++ -fPIC -Wall -O2 -Drgn_private -g -I./ -I../../include -I../../include/common -I../../inc_drv -I../../inc_lib -fPIC -Wall -O2 -Drgn_private -g -I./ -I../../include -I../../include/common -I../../inc_drv -I../../inc_lib ./common.o ./FilterFunction.o ./HVM_MPI_IMG_Set+GetConnectMode.o ./HVM_MPI_IMG_Set+GetDdrMode.o ./HVM_MPI_VGP_CreatePipeTest.o ./main.o -L../../lib -L../../lib/gtest_lib -lvb -lpthread -lvmm -lbase -lm -losal -lgdma -limg -lvic -lcxm -lbind -lprint -lisp -lvdp -lhvm2a -lpqt -lhvm188 -lhvm187 -lge -lrgn -lvencrgn -lvenc -lvgp -lime -losal -lgtest -o run_img_test -Xlinker "-(" -L../../lib -L../../lib/gtest_lib -lvb -lpthread -lvmm -lbase -lm -losal -lgdma -limg -lvic -lcxm -lbind -lprint -lisp -lvdp -lhvm2a -lpqt -lhvm188 -lhvm187 -lge -lrgn -lvencrgn -lvenc -lvgp -lime -losal -Xlinker "-)" /share/eda/toolchains/arm-seev300-linux-uclibcgnueabihf/bin/../lib/gcc/arm-seev300-linux-uclibcgnueabihf/6.5.0/../../../../arm-seev300-linux-uclibcgnueabihf/bin/ld.bfd: ../../lib/libimg.a(hvm_mpi_img.o): in function `_GLOBAL__sub_I_65535_0_hvm_mpi_img.c': /share/users/fanjiahe/svn/mars/btk_img/g2s/branches_v0.5/api/img/lib/mpi/hvm_mpi_img.c:141: undefined reference to `__gcov_init' /share/eda/toolchains/arm-seev300-linux-uclibcgnueabihf/bin/../lib/gcc/arm-seev300-linux-uclibcgnueabihf/6.5.0/../../../../arm-seev300-linux-uclibcgnueabihf/bin/ld.bfd: ../../lib/libimg.a(hvm_mpi_img.o):(.data.rel+0x10): undefined reference to `__gcov_merge_add' /share/eda/toolchains/arm-seev300-linux-uclibcgnueabihf/bin/../lib/gcc/arm-seev300-linux-uclibcgnueabihf/6.5.0/../../../../arm-seev300-linux-uclibcgnueabihf/bin/ld.bfd: ../../lib/libimg.a(pil_func_img.o): in function `_GLOBAL__sub_I_65535_0_pil_func_img.c': /share/users/fanjiahe/svn/mars/btk_img/g2s/branches_v0.5/api/img/lib/pil/pil_func_img.c:797: undefined reference to `__gcov_init' /share/eda/toolchains/arm-seev300-linux-uclibcgnueabihf/bin/../lib/gcc/arm-seev300-linux-uclibcgnueabihf/6.5.0/../../../../arm-seev300-linux-uclibcgnueabihf/bin/ld.bfd: ../../lib/libimg.a(pil_func_img.o):(.data.rel+0x10): undefined reference to `__gcov_merge_add' /share/eda/toolchains/arm-seev300-linux-uclibcgnueabihf/bin/../lib/gcc/arm-seev300-linux-uclibcgnueabihf/6.5.0/../../../../arm-seev300-linux-uclibcgnueabihf/bin/ld.bfd: ../../lib/libvic.a(hvm_mpi_vic.o): in function `_GLOBAL__sub_I_65535_0_hvm_mpi_vic.c': /share/users/fanjiahe/svn/mars/btk_img/g2s/branches_v0.5/api/vic/lib/mpi/hvm_mpi_vic.c:642: undefined reference to `__gcov_init' /share/eda/toolchains/arm-seev300-linux-uclibcgnueabihf/bin/../lib/gcc/arm-seev300-linux-uclibcgnueabihf/6.5.0/../../../../arm-seev300-linux-uclibcgnueabihf/bin/ld.bfd: ../../lib/libvic.a(hvm_mpi_vic.o):(.data.rel+0x10): undefined reference to `__gcov_merge_add' /share/eda/toolchains/arm-seev300-linux-uclibcgnueabihf/bin/../lib/gcc/arm-seev300-linux-uclibcgnueabihf/6.5.0/../../../../arm-seev300-linux-uclibcgnueabihf/bin/ld.bfd: ../../lib/libvic.a(pil_vic_sys.o): in function `_GLOBAL__sub_I_65535_0_pil_vic_sys.c': /share/users/fanjiahe/svn/mars/btk_img/g2s/branches_v0.5/api/vic/lib/pil/pil_vic_sys.c:1994: undefined reference to `__gcov_init'
08-09
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值