永州市网站建设_网站建设公司_一站式建站_seo优化
2025/12/24 21:28:51 网站建设 项目流程

直接看代码

#include <gtest/gtest.h>
#include <gmock/gmock.h>using ::testing::Return;
using ::testing::_;template<typename T>
class mockFoo{
public:static mockFoo& GetInstance(){static mockFoo instance;return instance;}MOCK_METHOD(T, bar, (const T&), ());
protected:mockFoo() = default;~mockFoo() = default;mockFoo(const mockFoo&) = delete;mockFoo& operator=(const mockFoo&) = delete;
};class fooTest : public ::testing::Test {
protected:void SetUp() override {}void TearDown() override {}
};TEST_F(fooTest, fooTest1){auto& ins = mockFoo<int>::GetInstance();EXPECT_CALL(ins, bar(_)).WillOnce(Return(42));EXPECT_EQ(ins.bar(1), 42);
}int main(int argc, char** argv) {::testing::InitGoogleTest(&argc, argv);return RUN_ALL_TESTS();
}

红帽系安装gtest:

sudo dnf install gtest gtest-devel gmock-devel

编译:

g++ -std=c++17 main.cpp -lgtest -lgmock -lpthread -o test

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询