【发布时间】:2017-08-28 16:51:41
【问题描述】:
我刚开始使用 Gtest/Gmocks,我正在努力研究一个示例。我有一个简单的类,它有一个成员一个返回值的函数(比如 3)。我试图模拟这个测试并检查返回的结果是否为 3。为简单起见,我将所有内容都写在一个文件中:
// Testing.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "gmock\gmock.h"
#include "gtest\gtest.h"
using ::testing::AtLeast;
using namespace std;
class MyClass{
public:
virtual int retValue() { return 3; }
virtual ~MyClass(){}
};
class FakeMyClass : public MyClass
{
public:
MOCK_METHOD0( retValue, int() );
};
TEST(TestForMyClass, TestRetVal)
{
FakeMyClass obj3;
EXPECT_EQ(obj3.retValue(), 3);
}
int _tmain(int argc, _TCHAR* argv[])
{
::testing::InitGoogleMock(&argc, argv);
return RUN_ALL_TESTS();
}
但是我的测试失败了,它说预期结果是 3,而我的实际结果是 0。 我看过几个例子,我认为我做了所有事情,但结果不是我所期望的。请帮助我看看我错在哪里以及如何使该测试通过。谢谢。
【问题讨论】:
标签: googletest gmock