У меня есть макет интерфейса
// Interface
class MyInterface
{
void get(const std::wstring& param) = 0;
}
// Mock interface
class MyInterfaceMock : public MyInterface
{
MOCK_METHOD1(get, void(const std::wstring& param));
}
Образцовый метод испытаний:
...
EXPECT_CALL(myInterfaceMock, L"hello");
Когда я его компилирую (vs2015), я получаю сообщение
ошибка C2664: 'testing :: internal :: MockSpec ...: невозможно преобразовать аргумент 1 из' const wchar_t [6] 'в' const testing :: Matcher & '
за которым следует сообщение: Причина: невозможно преобразовать из 'const wchar_t [7]' в 'const testing :: Matcher'
Когда я использую std :: string вместо std :: wstring, все работает нормально. Кто-нибудь знает, почему нельзя сопоставить std :: wstring?