我有一个成员函数,它引用数组输出参数,我想在google模拟中使用它,但它不起作用。
全班:
class Class
{
// returns: number of the rewritten elements in the array
int foo(Struct (&bar)[ArraySize]) const;
};
模拟课程:
class MockClass : public Class
{
MOCK_CONST_METHOD1(foo, int(Struct (&)[ArraySize]));
};
当我想使用它时,我会写以下内容:
ON_CALL(mMo
我正在做一些测试,这样我就可以重构一个旧的C++项目。我正在尝试使用gmock匹配器ElementsAreArray()匹配两个数组。
EXPECT_THAT(value_instance.value, ::testing::ElementsAreArray(var_array));
其中value_instance.value是指向C数组的指针。
但是,当我在测试中使用这行代码进行编译时,从gmock-matchers.h文件中得到以下错误输出:
Error 1 error C2510: 'type' : left of '::' must be a
上下文:,我试图用GMock伪装一个OpenCV++类。
问题:
对于接受cv::Mat并返回cv::Mat的函数,我无法使用EXPECT_CALL方法。编译器说gmock不能作为回报从cv::MatExpr转换为bool。
以下是编译期间的详细错误消息。
In file included from /home/arun/Documents /LaneDetection/test/../vendor/googletest/googlemock/include/gmock/gmock-spec-builders.h:75:0,
from /home/arun/
我在编译(和使用) 库时遇到了一些问题。它使用gcc和编译得很好,但我还无法用Rad C++ Builder XE3编译它。
当我试图编译时,我会得到以下错误:
Microsoft (R) Build Engine Version 3.5.30729.5420
[Microsoft .NET Framework, Version 2.0.50727.5472]
Copyright (C) Microsoft Corporation 2007. All rights reserved.
Build started 02/02/2014 11:30:03.
Project "C:\Use
我试着用google在windows下构建gmock库,这个库可以在github上使用:。
我试图在cygwin控制台中使用cmake,但我无法构建它。
cmake C:\Users\Username\Downloads\googlemock-master\googlemock-master\googlemock
"CMake Error: The source directory "C:UsersSETDownloadsgooglemock-mastergooglemock-mastergooglemock" does not exist.
Specify --he
我花了几个小时试图找出为什么会出现以下编译错误:
~/src/example/build $ make
-- Downloading GMock / GTest version 1.8.0 from git
-- Configuring done
-- Generating done
-- Build files have been written to: /home/user/src/example/build
[ 5%] Performing update step for 'gmock'
[ 10%] Performing configure step for
我有两个模拟方法
struct temp_struct
{
int x;
};
using range = std::vector<std::vector<temp_struct>>;
Class MockA: public A
{
public:
MOCK_METHOD1(write_data, int(int a, int b));
MOCK_METHOD1(write_data, int(int a, const range &ranges));
}
我想做expect调用write_data,并将range作为参数。我希望匹配类型以避免多
我正在尝试为一个包含三个重载方法的类编写mock,即:
#include <gtest/gtest.h>
#include <gmock/gmock.h>
using ::testing::_;
using ::testing::Return;
using ::testing::A;
using ::testing::ByRef;
using ::testing::Ref;
using ::testing::TypedEq;
struct Foo {
int fooMethod(const int& intParam) { return 0; }
i
#include "gtest/gtest.h"
#include "gmock/gmock.h"
class Turtle{
public:
int foo();
};
int func(){
Turtle local_tutrtle;
auto x = local_tutle.foo();
......
return x;
}
TEST(mock, foo) {
class MockTurtle : public Turtle {
public:
这是我第一次使用gmock,并且有这个Mock类的例子 class MockInterface : public ExpInterface
{
public:
MockInterface() : ExpInterface()
{
ON_CALL(*this, func(testing::_)).WillByDefault(testing::Invoke([this]() {
// I need to fill the testVec with the vector passed as parameter to func
我正在尝试使用带有自定义字符串类型的gmock。
我有一个带有QString参数的方法,我想模拟这个方法:
MOCK_METHOD1(getValue, int(QString key));
我设定了一个期望:
EXPECT_CALL(mock, getValue("someKey"));
出了一个错误:
error: no matching function for call to 'MyMock::gmock_getValue(const char[8])'
include/gmock/gmock.h:9339:20: note: in definitio