2017-03-02 40 views
2

我想檢查一個向量在gtest中是否爲空,但我想更多地瞭解如何檢查匹配器的否定。如何否定gtest中的匹配器斷言或期望?

我通常ckeck大小大於零

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; 
} 

但我想知道,如果只是簡單地可以否定任何匹配

回答

3

我發現你可以合成一些匹配器並做類似

EXPECT_THAT(vector, Not(IsEmpty())); 

還有其他有趣的複合匹配器

AllOf(m1, m2, ..., mn) 
AnyOf(m1, m2, ..., mn) 
相關問題