gpt4 book ai didi

c++ - googlemock 的 EXPECT_CALL 导致 "unknown file:error: SEH exception with code 0xc0000005 thrown in the test body"

转载 作者:太空狗 更新时间:2023-10-29 20:28:08 27 4
gpt4 key购买 nike

<分区>

我是 googlemock 的新手。我当前的项目需要使用 googlemock。我从谷歌帮助网站学习了 gmock 的基础知识。但是,当我尝试在我的项目中实现相同的功能时,它抛出了 SEH exception with code 0xc0000005 错误。我的项目有多个线程,其中一个线程调用 RUN_ALL_TESTS以上代码导致SEH异常

工具:VS2010、windows 7

尝试模拟一个类的功能

using ::testing::Return;
using ::testing::Test;
using ::testing::NiceMock;

class OsInterfaceCPP
{

public:

OsInterfaceCPP(void){};
virtual ~OsInterfaceCPP(void){};
virtual int add_test(int a, int b) = 0;
int calladdtest(int aa, int bb)
{
return add_test(aa,bb);
}
};
class OsCPPApis : public OsInterfaceCPP
{
public:
OsCPPApis(void){};
virtual ~OsCPPApis(void){};
virtual int add_test(int aa, int bb)
{
return (aa+bb);
}
};

class MockedOSCPPApis : public OsCPPApis
{
public:
MockedOSCPPApis(void){};
virtual ~MockedOSCPPApis(void){};
MOCK_METHOD2(add_test, int(int aaa, int bbb));
};


OSapiTestFunc::OSapiTestFunc(void){}

OSapiTestFunc::~OSapiTestFunc(void){}

void OSapiTestFunc::SetUp(){}

void OSapiTestFunc::TearDown(){}

void OSapiTestFunc::RunTests()
{
int argc=0;
char **argv = 0;
::testing::InitGoogleMock(&argc, argv);

}

TEST_F(OSapiTestFunc, OS_Test1)
{

OsCPPApis TestOscppapis;
MockedOSCPPApis Testmockosapi;
int a, b;
a = 2;
b = 5;
bool test1var = true;
EXPECT_CALL(Testmockosapi,add_test(a, b));

TestOscppapis.add_test(5,3);
}

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com