#include "gtest/gtest.h" #include "src/utils.cpp" #include #include // 测试未使用的函数 TEST(UtilsTest, UnusedFunction) { // 由于 unused_function 是静态的且无参数无返回值, // 主要测试它能否被正常调用而不产生运行时错误 EXPECT_NO_THROW(unused_function()); // 调用函数,验证没有崩溃或异常 unused_function(); // 由于函数没有输出和副作用,这里主要验证调用成功 SUCCEED(); } // 测试未使用代码的函数 - 正常场景 TEST(UtilsTest, TestUnusedCodeNormal) { // 重定向 cout 以捕获输出 std::stringstream buffer; std::streambuf* old = std::cout.rdbuf(buffer.rdbuf()); // 调用函数 test_unused_code(); // 恢复 cout std::cout.rdbuf(old); // 验证输出是否正确(y 的值是 200) EXPECT_EQ(buffer.str(), "200\n"); } // 测试未使用代码的函数 - 多次调用 TEST(UtilsTest, TestUnusedCodeMultipleCalls) { std::stringstream buffer; std::streambuf* old = std::cout.rdbuf(buffer.rdbuf()); // 多次调用函数 test_unused_code(); test_unused_code(); std::cout.rdbuf(old); // 验证两次调用的输出 EXPECT_EQ(buffer.str(), "200\n200\n"); } // 测试未使用代码的函数 - 无异常调用 TEST(UtilsTest, TestUnusedCodeNoThrow) { // 验证函数调用不会抛出异常 EXPECT_NO_THROW(test_unused_code()); } // 测试边界情况 - 函数可重复调用 TEST(UtilsTest, TestUnusedCodeRepeatedCalls) { // 连续调用 100 次,验证不会崩溃 for (int i = 0; i < 100; ++i) { EXPECT_NO_THROW(test_unused_code()); } SUCCEED(); } // 主函数 int main(int argc, char **argv) { ::testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); }