Robot FW: библиотека Buitlin: Set Suite Variable: как передать переменную в текущей области тестирования в новую область тестирования? - PullRequest
0 голосов
/ 28 января 2020

A cc .to документация :

(1) Если переменная уже существует в текущей области, значение можно оставить пустым, а переменную в новая область получает значение в текущей области.

Цель - реализовать пример для оператора (1).

Вот попытка:

(Test 1/2) Use "Set Suite Variable" : Set Locally Scoped Variable As Suite Scoped
       [Documentation]     If a variable already exists within the current scope 
       ...                 (i.e. Test 1/2), the value can be left empty and
       ...                 the variable within the new scope (i.e. Test 2/2) gets 
       ...                 the value within the current scope (i.e Test 1/2)

       ${local_to_suite_scoped} =     Set Test Variable   ${3}
       # intentionally not setting any value to comply with the statement (1)
       Set Suite Variable      ${local_to_suite_scoped} 

(Test 2/2) Use "Set Suite Variable" : Use local_to_suite_scoped in this test
       Variable Should Exist   ${local_to_suite_scoped}
       Should Be Equal         ${local_to_suite_scoped}     ${3}  # fails with None != 3, expected 3 == 3

Тест 2/2 не пройден, но почему? Является ли утверждение (1) неверным или тестовые примеры реализованы неправильно? Если контрольные примеры реализованы неправильно, можете ли вы предоставить правильную реализацию?

1 Ответ

1 голос
/ 28 января 2020

Set Test Variable (например, Set Suite Variable -keyword) ожидает, что первым аргументом является имя переменной. Тогда вторая переменная будет значением переменной. Таким образом, вместо

${local_to_suite_scoped} =     Set Test Variable   ${3}

do

Set Test Variable    ${local_to_suite_scoped}    ${3}

Подробнее на http://robotframework.org/robotframework/latest/libraries/BuiltIn.html#Set% 20Suite% 20Variable

...