Я пытаюсь интегрировать googlemock в свои тесты. Я уже успешно создал и запускал тесты на googletest, и теперь я пытаюсь постепенно добавлять функциональность gmock в тесты, но я ударил ошибку компиляции, которую я совершенно не понимаю.Ошибка компиляции, когда я #include "gmock/gmock.h"
Я не пытаюсь использовать или определять классные классы или использовать что-либо, что предоставляет gmock.h. В верхней части моего (ранее рабочего) файла tests.cpp я просто введите
#include "gmock/gmock.h"
И я получаю ошибку компиляции:
gmock/gmock-matchers.h (2497): ошибка C2059: синтаксическая ошибка : 'SizeOf'
gmock/gmock-matchers.h (2505): см ссылку на шаблон класса конкретизации 'тестирование :: внутреннего :: ElementsAreMatcherImpl' компилируется
gmock/gmock-matchers.h (2497) : ошибка C2059: синтаксическая ошибка: ')'
gmock/gmock-matchers.h (2497): ошибка C2143: синтаксическая ошибка: отсутствует ')' перед '{'
gmock/gmock-matchers.h (2497): ошибка C4430: отсутствует спецификатор типа - int. Примечание: C++ не поддерживает default-int
gmock/gmock-matchers.h (2499): warning C4183: 'Message': отсутствует тип возврата; предполагается, что это функция-член, возвращающая 'int'
Я компилирую это с помощью nmake/vC++ в Windows 7, и я не могу понять, почему я получаю эти ошибки компиляции просто из добавления основного файла gmock include к моему файл теста. Кто-нибудь видел такие вещи раньше?
Я помню что-то о том, что заказ включает в себя важное значение? вы пробовали поставить gmock.h до и/или после gtest.h? –
Да, я пробовал изменить порядок #include, но получил ту же ошибку. – whazzmaster
Почему вы хотите включить gmock.h вообще в тестовый файл? Достаточно включить ваш Mock в свой тестовый файл. Это сработает для вас, если вы создадите Fixture.h, который включен в тестовый файл, и включите gmock.h в этот прибор? – Alex