我想用一个方法的返回值赋值一个NiceMock。NiceMock是一个实例变量。
class TestFileToOsg : public testing::Test
{
public:
NiceMock<MockFileToOsg>* _mockFileToOsg;
protected:
virtual void SetUp();
};
void TestFileToOsg::SetUp()
{
_mockFileToOsg = FixtureFileToOsg::getMockFileToOsgWithValidConfig();
}fixture方法为:
MockFileToOsg* FixtureFileToOsg::getMockFileToOsgWithValidConfig()
{
MockFileToOsg* fileToOsg = new MockFileToOsg(...);
return fileToOsg;
}编译器抛出以下错误:
error: invalid conversion from ‘MockFileToOsg*’ to ‘testing::NiceMock<MockFileToOsg>*’如何使用fixture方法的返回值为实例变量赋值?
发布于 2012-06-26 20:14:03
在你的testclass中,你应该只有一个指向mockobject的指针:
class TestFileToOsg : public testing::Test
{
public:
MockFileToOsg* _mockFileToOsg;
protected:
...您的fixture应该实例化一个NiceMock并返回一个指向mockobject的指针。
MockFileToOsg* FixtureFileToOsg::getMockFileToOsgWithValidConfig()
{
MockFileToOsg* fileToOsg = new NiceMock<MockFileToOsg>(...);
return fileToOsg;
}从mockClass.So NiceMock<>派生的NiceMock<>只能在实例化MockObject时使用。
https://stackoverflow.com/questions/11204458
复制相似问题