七、异常检查 
Fatal assertion  Nonfatal assertion  Verifies  
ASSERT_THROW(statement, 
exception_type);  
EXPECT_THROW(statement, 
exception_type);  
statement throws an 
exception of the given type  
ASSERT_ANY_THROW(statement);  EXPECT_ANY_THROW(statement);  
statement throws an 
exception of any type  
ASSERT_NO_THROW(statement);  EXPECT_NO_THROW(statement);  
statement doesn't throw any 
exception  
例如: 
int Foo(int a, int b) 
{ 
if (a == 0 || b == 0) 
{ 
throw "don't do that"; 
} 
int c = a % b; 
if (c == 0) 
return b; 
return Foo(b, c); 
} 
 
TEST(FooTest, HandleZeroInput) 
{ 
EXPECT_ANY_THROW(Foo(10, 0)); 
9 
 
                                    
                                    
                                         2025-05-21 11:14:54 
                                             1.47MB 
                                                单元测试
                                     
                                        
                                            1