EXPECT_CALL de googlemock conduit à “fichier inconnu:erreur: SEH exception avec le code 0xc0000005 jeté dans l'épreuve du corps”

Je suis novice googlemock. Mon projet actuel besoins googlemock à utiliser. J'ai appris les bases de gmock à partir d'aide de google site. Mais quand j'ai essayé de mettre en œuvre la même dans mon projet, il a jeté SEH exception with code 0xc0000005 erreur.
Mon projet a plusieurs threads, l'un des thread d'appel RUN_ALL_TESTS
Le code ci-dessus conduit à SEH exception

outils: VS2010, windows 7

Try to mock the function of a class

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);
}
Pourquoi avez-vous hériter MockedOSCPPApis de OsCPPApis et non pas de la OsInterfaceCPP? Aussi loin que je peux voir, il n'y a rien à se moquer de OsCPPApis il met en œuvre add_test().

OriginalL'auteur user1934188 | 2012-12-28