如何在GTEST中否定匹配者断言或期望这一点

How to negate the matcher in gtest assert or expect that?

本文关键字:断言 这一点 期望 GTEST      更新时间:2023-10-16

我想检查vector在gtest中是否没有空,但我想更多地了解如何检查匹配器的否定。

i通常大于零

EXPECT_THAT( vector.size(), Gt( 0 ) );

我知道我可以写自己的匹配器

MATCHER( IsNotEmpty, !negation ? "isn't empty" : "is empty" ) {
if ( !arg.empty() ) {
    return true;
}
*result_listener << "whose size is " << arg.size();
return false;
}

,但我想知道是否可以简单地否定任何匹配器

我发现您可以复合一些匹配器并做类似

之类的事情
EXPECT_THAT( vector, Not( IsEmpty() ) );

还有其他有趣的复合匹配器

AllOf(m1, m2, ..., mn)
AnyOf(m1, m2, ..., mn)
相关文章: