Как тестировать текст по маске?

Имею код:

def test_html_return(self):
        print('>> Admin:GravatarHelpersTest Тест на возвращаемый HTML')

        html = '<img class="gravatar" src="https://secure.gravatar.com/avatar/64e1b8d34f425d19e1ee2ea7236d3028.jpg?d=mm&r=g&s=50" width="50"/>'
        self.assertEqual(helpers.gravatar('admin@admin.com', 50), html)


суть в том, что граватар возвращает постоянно динамические параметры. ?d=mm&r=g&s=50 они могут быть и ?d=mm&s=50&r=g постоянно в разном порядке. И получаеться тест проходит через с вероятностью 1 к 3. Как это обойти чтобы при проверке не учитывало именно эту строку ?d=mm&r=g&s=50?
  • Вопрос задан
  • 112 просмотров
Пригласить эксперта
Ответы на вопрос 1
Guest007
@Guest007
Django, Python, Linux и всё такое...
Ну, самое простое - split строки несколько раз. Сначала по "пробелам", потом по "кавычкам" потом по "вопросу". И вот у тебя на руках конкретно d=mm&r=g&s=50 А его уже сплитишь по "&" а потом по "=" с занесением в словарь. Всё. У тебя словарь с парами ключ-значение, порядок не важен - можно проверить наличие и значение по любому ключу. Делов-то на несколько строк. Лучше оформить отдельной функцией или методом. Ну или упражнение для любителей лямбды и однострочников :-)

Можно и регулярками разобрать опять-таки до состояния словаря.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы