метод макета с 11 параметрами с помощью gmock

Я использую gmock, чтобы высмеивать мои зависимости в устаревшем коде. У одного из классов есть метод с 11 параметрами. Когда я попытался использовать MOCK_METHOD11_WITH_CALLTYPE, чтобы посмеяться над этим, я обнаружил, что этот макрос не существует. Gmock поддерживает только до 10 параметров. Что вы предлагаете для этого? Я реализую этот метод с пустышкой? Или скопировать & продлить макрос? Спасибо!

PS, мне не нужно издеваться над этим методом в моих тестах прямо сейчас, но, вероятно, нужно сделать это в будущем.

С наилучшими пожеланиями,

6

Решение

Методы с более чем 10 параметрами могут быть признаком проблем. Я могу предложить обходной путь, который поможет вашему конкретному случаю, но который также может быть хорошей идеей, кроме насмешек. Возьмите несколько параметров, которые имеют смысл как группа, и объедините их в структуру. Затем передайте экземпляр этой структуры в качестве аргумента методу. Таким образом, вместо 11 аргументов у вас может быть 3 или 4. Это не только поможет решить проблему фиктивной библиотеки, но и улучшит удобство использования вашего класса, так как методы с таким количеством аргументов обычно трудно читать на позвоните на сайт.

6

Другие решения

В случае, если кому-то нужно больше аргументов gmock, вот расширение для заголовка: gmock-больше-арг

0

По вопросам рекламы [email protected]