Mam następujący wynik z testu Google Test jednostkowej:Dostosuj faktyczne/oczekiwany „wartość” w ciąg komunikatów wyjściowych Usterka Google
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)
To szesnastkowy ciąg wyjściowy nie jest bardzo przydatna. Czy jest coś, co mogę dodać do klasy Line
(dla której test równości nie działa), aby zapewnić bardziej przydatne błędy w takich przypadkach?
danej klasy jest przesłonięta operatora <<
jako funkcji członka:
std::ostream& operator<<(std::ostream& stream) const
{
return stream << "Line (radius=" << d_radius << " theta=" << d_theta << ")";
}
Widać, że to działa na linii „Oczekiwano”, ale nie wiersz „rzeczywisty”.
To stwierdzenie jest nieprawdziwe — przedstawiony test pochodzi z parametru makro TEST
.