Опишите сопоставление Google Mocker как std :: stringC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Опишите сопоставление Google Mocker как std :: string

Сообщение Anonymous »

мой вопрос < /strong> (для стационара) Например: < /p>

Код: Выделить всё

std::string description = DescribeMatcher(Ge(0)) // puts "size is > 0" in the string
< /code>

Кто -нибудь знает простой способ сделать это? Не нашел ничего в документации Googlemock. Я сделал это сам так: < /p>

template
std::string DescribeMatcher(S matcher)
{
Matcher matcherCast = matcher;
std::ostringstream os;
matcherCast.DescribeTo(&os);
return os.str();
}
< /code>

 фон < /strong> < /p>

Я хочу написать свой собственный сопоставщик, основанный на другом. Мой сочетание соответствует строке, которая представляет имя файла, имеющего указанный размер. < /P>

MATCHER_P(FileSizeIs, sizeMatcher, std::string("File size ") + DescribeMatcher(sizeMatcher))
{
auto fileSize = fs::file_size(arg);
return ExplainMatchResult(sizeMatcher, fileSize, result_listener);
}
< /code>

Вот пример использования: < /p>

EXPECT_THAT(someFileName, FileSizeIs(Ge(100)); // the size of the file is at-least 100 bytes
EXPECT_THAT(someFileName, FileSizeIs(AllOf(Ge(200), Le(1000)); // the size of the file is between 200 and 1000 bytes
< /code>

Проблема заключается в последнем аргументе макроса Matcher_p. Я хочу, чтобы описание файлов filesizeis 
основывалось на описании SizeMatcher . Тем не менее, я не нашел такой функции внутри Googlemock и должен был написать сам.

Подробнее здесь: https://stackoverflow.com/questions/199 ... -stdstring
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»