AI 自动生成测试用例
This commit is contained in:
parent
fa2a0dee39
commit
902b62687c
|
|
@ -0,0 +1,69 @@
|
|||
#include "gtest/gtest.h"
|
||||
#include "src/utils.cpp"
|
||||
#include <iostream>
|
||||
#include <sstream>
|
||||
|
||||
// 测试未使用的函数
|
||||
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();
|
||||
}
|
||||
Loading…
Reference in New Issue