Scheinbare nicht-virtuelle Methode mit Kompilierungsfehler
Ich muss den gtest schreiben, um vorhandenen Code mit einer nicht virtuellen Methode zu testen. Daher teste ich unter Verwendung der folgenden Quelle, erhalte jedoch den Kompilierungsfehler
package / web / webscr / sample_template_class3.cpp: In der Funktion "int main ()": package / web / webscr / sample_template_class3.cpp: 64: Fehler: "class Templatemyclass" hat kein Mitglied namens "gmock_display"
sample_template_class3.cpp
#include <iostream>
#include <gtest/gtest.h>
#include <gmock/gmock.h>
using namespace std;
template < class myclass>
class Templatemyclass
{
private:
myclass T;
public :
void display()
{
T.display();
}
};
class Test
{
public:
void display()
{
cout<<"Inside the display Test:" <<endl;
}
};
class MockTest
{
public:
MOCK_METHOD0(display,void());
};
class FinalTest
{
public:
void show( Templatemyclass<Test> t)
{
t.display();
cout<<"Inside the display FinalTest:" <<endl;
}
};
int main()
{
FinalTest test1;
Templatemyclass<Test> obj1;
Templatemyclass<MockTest> obj2;
EXPECT_CALL(obj2,display()).Times(1);
test1.show(obj1);
return 1;
}