gpt4 book ai didi

c++ - 谷歌测试 : how to EXPECT_EQ non printable ASCII values

转载 作者:行者123 更新时间:2023-11-28 02:30:03 25 4
gpt4 key购买 nike

在我的测试中,我针对某些字符(如“a”、“b”等)在字符上设置了 EXPECT_EQ()...到目前为止一切顺利。

现在我应该针对不可打印的 ASCII 字符 (0xFE) 进行测试。我的角色被定义为“char”,因此每次针对文字 0xFE 的直接测试都会失败!

char a;
a = 0xFE;
EXPECT_EQ(a, 0xFE); <-- fail!!!

最佳答案

您正在将 254 分配给 char a。如您所知,char 的宽度足以容纳它没有被截断,但它超出了 char [0,127] 的正数范围。它变为负数,整数值为 -2。因此它完全不等于 254 并且EXPECT_EQ 失败。

所以,在那个 EXPECT_EQ 中,你必须坚持与 unsigned 进行比较a中的整数值:

char a;
a = 0xFE;
EXPECT_EQ((unsigned char)a, 0xFE);

关于c++ - 谷歌测试 : how to EXPECT_EQ non printable ASCII values,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29284678/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com