Robot Framework: встроенная библиотека: должны соответствовать: как правильно передать параметр шаблона? - PullRequest
2 голосов
/ 29 января 2020

Учитывая следующий код:

*** Test Cases ***
Use "Should Match"
[Documentation]     Should Match    string, pattern, msg=None, values=True, ignore_case=False
...                 Fails if the given string does not match the given pattern.
...                 Pattern matching is similar as matching files in a shell with *, ? and [chars] acting as
...                 wildcards. See the Glob patterns section for more information.

Should Match        string=Can find me here   pattern=me   msg='The overwriting error'  # fails unexpectedly
Should Match        string='Will match with star'   pattern=*
Should Match        string='Will match this'        pattern=[atx]his      # fails unexpectedly
Should Match        string='Will match with keyword'    pattern=?eyword   # fails unexpectedly

Цель состоит в том, чтобы все утверждения в тестовом примере прошли. В настоящее время первый оператор завершается ошибкой:

«Ошибка перезаписи»: «Может найти меня здесь» не соответствует «мне»

1 Ответ

2 голосов
/ 29 января 2020

При использовании Должно соответствовать шаблон должен соответствовать всей строке, а не только ее части. Если вы хотите, чтобы первый шаблон прошел, вам нужно изменить его на *me*. Первая звезда будет соответствовать всему, вплоть до слова «я», а вторая звезда будет соответствовать всем после.

То же самое относится и к другим шаблонам. Если вы ищете шаблон внутри более крупной строки, вам нужно добавить * по обе стороны от шаблона, чтобы соответствовать всем другим символам.

*** Test Cases ***
Use "Should Match"
    Should Match        Can find me here           pattern=*me*
    Should Match        'Will match with star'     pattern=*
    Should Match        'Will match this'          pattern=*[atx]his*
    Should Match        'Will match with keyword'  pattern=*?eyword*
...