gtest中字符串比较是否相等

本文介绍了在gtest单元测试中如何进行字符串比较,包括EXPECT_EQ, EXPECT_STREQ和EXPECT_STRCASEEQ的使用,重点是它们对C风格字符串(char*)和标准库string的支持情况。" 114056677,10538717,Java实现简易音频播放器,"['Java', '音频处理']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.EXPECT_EQ(val1,val2)

class StringCmpTest:public testing::Test{

};

TEST_F(StringCmpTest, Test_case1){
    string szJC = "JC";
    string szJC1 = "JC";
    EXPECT_EQ(szJC,szJC1);

    char* cJC = "JC";
    char* cJC1 = "JC";
    EXPECT_EQ(cJC,cJC1);

    //前面加L就是将其简单转换成unicode码的字串,要用对应的wcout才能输出
    wchar_t* cTQ = L"TQ";
    wchar_t* cTQ1 = L"TQ";
    EXPECT_EQ(cTQ,cTQ1);
}
  1. EXPECT_STREQ(expected_str, actual_str)

只支持C字符串,char*,wchar_t*,不支持string和wstring,

TEST_F(StringCmpTest,Test_case2){
    char* cJC = "JC";
    char* cJC1 = "JC";

    wchar_t* cTQ = L"TQ";
    wchar_t* cTQ1 = L"TQ";

    EXPECT_STREQ(cJC,cJC1);
    EXPECT_STREQ(cTQ,cTQ1);
}
  1. EXPECT_STRCASEEQ(expected_str, actual_str)

只支持C字符串,char*,不支持string和wstring,不支持wchar_t*类型的

TEST_F(StringCmpTest,Test_case3){
    char* cJC = "JC";
    char* cJC1 = "JC";
    EXPECT_STRCASEEQ(cJC,cJC1);
}

4.使用字符串比较函数,再用EXPECT_EQ()判断返回值

TEST_F(StringCmpTest, Test_case4){
    char* cAB = "AB";
    char* cAB1 = "AB";
    int ret = strcmp(cAB,cAB1);
    EXPECT_EQ(ret,0);
}

TEST_F(StringCmpTest,Test_case5){
    string s1 = "ABC";
    string s2 = "ABC";
    int ret = s1.compare(s2);
    EXPECT_EQ(ret,0);

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值