Google Test Assertions ASSERT_*
sollen in Form von ASSERT_EQ(expected, actual)
verwendet werden, wobei der 1. Parameter ist erwarteter Wert und der 2. ist der tatsächliche Wert. Aber sehr oft sehe ich in den bestehenden Code-Basis, dass diese Parameter wie in diesem Code umgekehrt werden:Wie erzwinge die richtige Reihenfolge von erwarteten und tatsächlichen in Google Test?
TEST(test, test)
{
ASSERT_EQ(foo(), 1);
}
Das ist fast in Ordnung, aber es erzeugt ein bisschen komisch Fehlermeldung bei Testfehler wie: „das Ergebnis der foo()
wurde erwartet, aber eigentlich war es 1
". Dies scheint ein kleines Problem zu sein, aber gibt es eine Möglichkeit, die richtige Reihenfolge von erwartetem und tatsächlichem zur Kompilierungszeit zu erzwingen?
AFAIK - es ist kein Fall für eine neuere Version von Google-Test. Ich meine - in neueren Versionen - keine dieser Seiten wird als nur erwartet oder nur tatsächlich behandelt. Aktualisieren Sie einfach Ihre Google-Testversion. – PiotrNycz