Генерация случайных параметров в тестах параметров googletest - PullRequest
0 голосов
/ 08 сентября 2018

Я хочу сгенерировать случайные значения для моих параметризованных тестов googletest. Здесь возникают две проблемы:

  1. Я хочу использовать встроенную функцию C ++ rand (), но сгенерированные числа повторяются во всех тестах. Затем я попытался использовать GetParam() в качестве начального числа, но у меня возникли проблемы с назначением значения, возвращаемого этой функцией, функции srand (). Он связан с вопросом о необходимости сделать const неконстантным, я использую различные варианты static_cast и const_cast от const int до long int *, но ни один из них даже не был скомпилирован.
  2. Может быть, в Google Tests есть встроенная функция для генерации случайного набора переменных, используемых для тестов? Я копаю документацию, но в этом нет ничего особенного.

1 Ответ

0 голосов
/ 11 сентября 2018

1) Согласно CppReference srand() ожидает unsigned в качестве параметра. Используете ли вы unsigned в качестве типа параметра для ваших параметризованных тестов? (Примечание: здесь, увидев код, который доставляет вам неприятности, было бы действительно полезным ...)

2) Насколько мне известно. Но ничто не мешает вам использовать обычный int в качестве Type-Parameter и передавать его в функцию, которая генерирует из него псевдослучайное значение.

...