gpt4 book ai didi

c++ - 在 Google 测试失败输出消息中自定义实际/预期的 "Value of"字符串

转载 作者:可可西里 更新时间:2023-11-01 15:45:40 24 4
gpt4 key购买 nike

我从 Google Test 得到以下输出单元测试:

UnitTests.cc:56: Failure
Value of: LineSegment2i(Vector2i(-10,0), Vector2i(-10,10)).toLine()
Actual: 24-byte object <00-00 00-00 00-00 24-C0 00-00 00-00 00-00 00-00 00-00 2F-2B FF-7F 00-00>
Expected: Line(10, 3.14159265358979323846)
Which is: 24-byte object <00-00 00-00 00-00 24-40 18-2D 44-54 FB-21 09-40 00-00 64-00 00-00 00-00>
[ FAILED ] LineSegmentTests.toLine (1 ms)

那个十六进制输出字符串不是很有用。有什么我可以添加到 Line 的吗?类(相等性测试失败)在这种情况下提供更多有用的错误?

有问题的类已经覆盖了 <<运算符作为成员函数:

std::ostream& operator<<(std::ostream& stream) const
{
return stream << "Line (radius=" << d_radius << " theta=" << d_theta << ")";
}

您可以看到这适用于“预期”行,但不适用于“实际”行。 这种说法是不正确的——显示的测试来自 TEST 的参数。宏。

最佳答案

为了打印自定义类型,您可以“教”Google Test 如何打印您的自定义类型,如 Teaching Google Test How to Print Your Values 部分所述。 .

关于c++ - 在 Google 测试失败输出消息中自定义实际/预期的 "Value of"字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15191004/

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