Как правильно использовать регулярное выражение в тесте ruby

В тесте в конце вывода функции есть случайное число. Мне нужно использовать регулярное выражение. Когда я проверяю вывод вручную, он работает как задумано. Но мои тесты не проходят. Вот как это выглядит:

assert @tester.image == "http://loremflickr.com/300/300?random=#{/\d{1,3}/}"

Конец URL-адреса состоит из 1–3 цифр. Пример:

...random=476

Как я могу правильно использовать регулярное выражение в этом контексте?

Пошаговое руководство по созданию собственного Slackbot: От установки до развертывания
Пошаговое руководство по созданию собственного Slackbot: От установки до развертывания
Шаг 1: Создание приложения Slack Чтобы создать Slackbot, вам необходимо создать приложение Slack. Войдите в свою учетную запись Slack и перейдите на...
1
0
46
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать assert_match и избежать необходимости обрабатывать эту процедуру вручную, что сделает ее более подробной. Если ваше регулярное выражение работает нормально, то:

assert_match /http://loremflickr\.com/300/300\?random=\d{1,3}/, @tester.image

Или для того, чтобы не экранировать определенные символы:

%r{http://loremflickr\.com/300/300\?random=\d{1,3}}

Первый пример работал после добавления \ before. assert_match /http://loremflickr\.com/300/300\?random=\d{1,3}/

J.Krzus 21.10.2018 23:39

Извините, я забыл убежать от точки. Отредактировано. Спасибо!

Sebastian Palma 21.10.2018 23:52

Другие вопросы по теме