1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| #include <gtest/gtest.h>
int add(int a, int b) { return a + b; }
int divide(int a, int b) { if (b == 0) { throw std::invalid_argument("除数不能为零"); } return a / b; }
TEST(AddTest, PositiveNumbers) { EXPECT_EQ(add(1, 2), 3); EXPECT_EQ(add(10, 20), 30); }
TEST(AddTest, NegativeNumbers) { EXPECT_EQ(add(-1, -2), -3); EXPECT_EQ(add(10, -5), 5); }
TEST(DivideTest, NormalCase) { EXPECT_EQ(divide(10, 2), 5); EXPECT_EQ(divide(100, 10), 10); }
TEST(DivideTest, DivideByZero) { EXPECT_THROW(divide(10, 0), std::invalid_argument); }
int main(int argc, char** argv) { ::testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); }
|