Вопросы, помеченные тегом «gmock»

Gmock - это фиктивный фреймворк для Groovy. Для вопросов, касающихся Google Mock, используйте вместо него тег [googlemock].
avatar
DeSubstantiisSeparatis
9 августа 2021 в 06:47
105
0

gmock - установка ожиданий для одного и того же объекта с одинаковыми параметрами в разных методах

Допустим, что класс TEST содержит достаточно большую логику, поэтому для каждого UT мне нужно установить много ожиданий для фиктивных классов, используемых в классе TEST. У каждого UT будут свои ожидания, но некоторые из них совпадают. Поэтому, имея много UT для класса...
avatar
PK09
9 августа 2021 в 01:41
161
1

C++ GTest/GMock для шаблонов классов: вызывается настоящий метод вместо указанной фиктивной реализации

Вот упрощенный пример (из gMock Cookbook) шаблона класса, который я хочу имитировать: class StackInterface { public: virtual ~StackInterface(); virtual int GetSize() const { return 3; } }; template<typename Elem> class MockStack : public...
avatar
WBurzynski
30 июля 2021 в 08:50
146
1

Можно ли создать фиктивный метод для каждого аргумента из пакета параметров?

Редактировать: У меня есть классы, которые получают сообщения: class Foo { public: void receive(FooMessage& message)); // other messages } class Bar { public: void receive(BarMessage& message)); // other messages } и смоделируйте этот тест,...
avatar
MinShu Huang
25 июля 2021 в 21:38
123
0

Юнит-тест с внешним классом в заголовочном файле, который не имеет виртуального метода в C++

Среда тестирования, которую я использую, — это Google test/google mock. Я пишу класс на C++, который я также хотел бы протестировать с помощью модульного тестирования. Этот класс использует другой класс из другой библиотеки, в котором нет виртуальных методов. Я...
avatar
NirMH
21 июля 2021 в 12:36
78
1

Как проверить (gmock), когда ожидаемый результат зависит от внутреннего случайного значения?

У меня есть следующий код: std::string a() { srand(time(0)); return "file" + std::to_string(rand() % 10); } int b() { std::string filename = a(); std::ifstream file(filename); std::string line; while (file >> line) { if (line ==...
avatar
Ganesh Kulkarni
12 июля 2021 в 06:23
504
1

Можем ли мы издеваться над функцией, которая вызывает функцию std::thread, используя Google Test/Gmock в C++?

Могу ли я имитировать функцию, которая вызывает функцию std::thread. например, Создание темы: std::thread thread_id void myfun() { thread_id = std::thread(&threadfunction, this); logger_.Info(LOG001, "Myfun() is called"); } Присоединение к потоку в другой...
avatar
Arseni Mourzenko
2 июля 2021 в 09:06
158
1

Почему я получаю ошибку времени компиляции при попытке вернуть значения из макета?

Я только начинаю использовать gMock (gTest 1.11.0). Ожидания вызова работают правильно, но когда я пытаюсь указать значение, которое должно быть возвращено во время вызова макета, я сталкиваюсь с ошибкой времени компиляции, которую я не понимаю. Вот соответствующий...
avatar
Lasersköld
1 июля 2021 в 10:57
372
1

Переопределить константную функцию google mock

При попытке имитировать функцию с помощью Google Test я все еще получаю предупреждение о том, что я пропустил "переопределение" MOCK_METHOD(bool, functionName, (), (const override)); В предупреждении я получаю состояния xxx.h:31:22: error: 'functionName' overrides...
avatar
developer_in_the_making
22 июня 2021 в 18:40
194
1

Заводской узор с Gmock

У меня есть интерфейс, в котором я использую фабричный шаблон для создания экземпляра объекта и сохранения его в файле unique_ptr. У меня также есть MockInterface, который я хотел бы использовать в своих тестах, чтобы не вызывать фактический производственный код....
avatar
Alex Gidan
21 июня 2021 в 03:52
194
1

Макет метода и захват одного из его выходных параметров после выполнения

Я пытаюсь смоделировать метод-член parseString, чтобы: Он сохраняет свое исходное поведение, то есть возвращает исходное возвращаемое значение метода и заполняет выходной параметр (std::vector<std::string>& iReqs) как исходный метод; Я могу проверить один из...
avatar
Lingzhi Meng
17 июня 2021 в 02:43
23
0

mockcpp: почему any() не издевается над последними двумя параметрами?

Я новичок в mockcpp и пытаюсь смоделировать функцию cc_master_find_in_dir. Я использую any() для последних двух параметров функции, но, похоже, это не работает. Сообщение об ошибке вызова сообщает о неожиданном вызове. Может ли кто-нибудь сказать мне причину....
avatar
developer_in_the_making
16 июня 2021 в 19:25
215
1

Использование gmock для имитации функций в стиле c

У меня есть код C++, в котором я вызываю некоторые функции C из unistd.h, такие как (open, close, read, write) и т.д.. Я пытаюсь имитировать вызовы этих функций, поскольку я не хочу вызывать настоящие реализация при выполнении тестов. Я сделал следующее: Создал...
avatar
GUI-Novice
16 июня 2021 в 09:48
120
0

GTEST: фактическое количество вызовов функций не соответствует EXPECT_CALL

Я изучаю GMock в gtest. У меня есть сценарий ниже class Observer { public: virtual void StartObserver(const std::string& const int&) { } }; class MockObserver : public Observer { public: MOCK_METHOD2(StartObserver, void(const std::string & const...
avatar
Nagaraj
16 июня 2021 в 08:13
13
0

Имитация RestTemplate с помощью gmock

Я работаю над устаревшим приложением с java и groovy, которое использует фреймворк для насмешек gmock (org.gmock) Мне нужна помощь в имитации метода обмена restTemplate, который принимает в качестве входного параметра объект HttpEntity, содержащий тело запроса и...
avatar
AdamH.
15 июня 2021 в 14:24
102
1

Что произойдет, если в макете Google указано несколько действий WillRepeatedly?

У меня есть такая тестовая установка: for (...) { std::unique_ptr<MockObject> mock = std::make_unique<MockObject>(); const SomeObject* validObject = ...; EXPECT_CALL(*mock, method(_)).WillRepeatedly(Return(validObject)); } Гарантировано ли, что...
avatar
pvd
11 июня 2021 в 09:28
210
1

Как издеваться над невиртуальными методами в конкретных классах с помощью gmock?

Я каким-то образом расширил тестовый пример gmock из примера donsoft.io и сделал его следующим образом: coinflipper/ ├── BUILD ├── WORKSPACE ├── coinflipper.cc ├── coinflipper.h ├── rng.cc └── rng.h Ну, вместо того, чтобы поместить класс Rng в качестве параметра...
avatar
pvd
11 июня 2021 в 02:19
38
1

Как обратиться к Gmock с ошибкой Symbol not found?

Я пытался создать минимальный тест gmock из примера donsoft.io Структура файла проста: my_workspace/ ├── BUILD ├── WORKSPACE ├── coinflipper.cc ├── coinflipper.h ├── mockrng.cc ├── mockrng.h └── rng.h Я получил эту ошибку при попытке скомпилировать $ bazel test...
avatar
BhanuKiran
9 июня 2021 в 10:56
119
0

Запускайте модульные тесты параллельно, используя CTest и модульные тесты, написанные с использованием тестовой среды Google.

у нас есть много модульных тестов, которые написаны с использованием тестовой среды Google. Большинство тестов имеют тестовые фикстуры, состоящие из SetUp(), TearDown() и mock objects & variable в качестве переменных фикстуры. Я использую CTest -j15 для...
avatar
Christopher Pisz
4 июня 2021 в 16:31
76
1

GMock — выполнить действие ПОСЛЕ ожидаемых звонков

Я пытаюсь выполнить модульный тест, в котором мне нужно, чтобы мой фиктивный объект выполнял действие ПОСЛЕ последовательности EXPECT_CALLS или как действие над одним из них, при этом разрешая фиктивному вызову возвращаться первым. Вот мой неработающий модульный...
avatar
BhanuKiran
4 июня 2021 в 11:53
213
1

Mock Multiple производный производный класс в С++ - google mock

У меня есть множественный производный класс, который наследуется от базового класса, который выглядит, как показано ниже, и хотел бы имитировать все производные классы. Нужно ли мне создавать класс MockBase или мне нужно повторять методы базового класса в каждом...