JulianSchutsch / requirements

Requirement tool
GNU General Public License v3.0
0 stars 0 forks source link

Idee (Unittests) : Negativ Tests #7

Open reinhardtA opened 7 years ago

reinhardtA commented 7 years ago

ich habe mal "briefly" durch die Tests gescrollt ... macht es sinn auch "negativ" tests einzuführen? `tatic const char content1 = "c1 cb c2"; static const char content2 = "10 Hello Remaining text\n";

using namespace requirements;

TEST(Commands, Parser) { { commands::Parser parser(content1); ASSERT_EQ(parser.next(), true); ASSERT_EQ(parser.getTokenType(), commands::Parser::TokenType::Symbol); ASSERT_EQ(parser.getTokenString(), "c1"); ASSERT_EQ(parser.next(), true); ASSERT_EQ(parser.getTokenType(), commands::Parser::TokenType::Symbol); ASSERT_EQ(parser.getTokenString(), "cb"); ASSERT_EQ(parser.next(), true); ASSERT_EQ(parser.getTokenType(), commands::Parser::TokenType::Symbol); ASSERT_EQ(parser.getTokenString(), "c2"); ASSERT_EQ(parser.next(), false); }` wenn man sich den Tests oben anschaut, wird auf c1, c2, cb getestet, aber nicht auf "random stuff"

JulianSchutsch commented 7 years ago

In vielen Tests wäre das machbar, aber an dieser Stelle würden wir mit ASSERT_NE(parser.getTokenString(), "random stuff") schlicht den String-Vergleichsoperator testen. Beim Boolean ist es nur eine Umformulierung.

Kritisieren könnte man allerdings, daß viele Tests die Exceptipon-Fälle nicht abdecken. Ist eindeutig Zeitmangel geschuldet.