[robotframework]为什么创建一个空元素到列表可以视为True,但不适用于空变量
[robotframework]Why Create a empty element to a list can treat as True, but not applicable to a empty variable
为列表创建一个空元素,return 使用“Should Be True”关键字的真值。但不适合创建空 variable.Why 是吗?
代码:
${list1} Create List ${EMPTY}
${list2} Set Variable ${EMPTY}
Should Be True ${list1} Create empty list
Should Be True ${list2} Set empty variable
日志:
20211225 14:24:58.913:信息:${list1} = ['']
20211225 14:24:58.916:TRACE:参数:['']
20211225 14:24:58.916:跟踪:Return:''
20211225 14:24:58.917:信息:${list2} =
20211225 14:24:58.918:TRACE:参数:[[''] | 'Create empty list']
20211225 14:24:58.918:跟踪:Return:None
20211225 14:24:58.919 : TRACE : 参数: [ '' | 'Set empty variable']
20211225 14:24:58.920:失败:计算表达式“”失败:ValueError:表达式不能为空。
这有点违反直觉,因为 ${list1} Create List ${EMPTY}
不是在创建一个空列表,而是一个内部包含空元素的列表,例如['']
,而 ${list2} Set Variable ${EMPTY}
将创建一个空变量,例如''
。这就是为什么 Should Be True
通过列表(列表不为空)但在变量上失败(变量为空)的原因。
下面的代码举例说明了这些情况:
# empty_list == []
${empty_list} = Create List
log to console ${empty_list}
should be empty ${empty_list}
# empty_list_1 == ['']
${empty_list_1} = Create List ${EMPTY}
log to console ${empty_list_1}
should not be empty ${empty_list_1}
# empty_var == '' (empty string with length 0)
${empty_var} = Set Variable
log to console ${empty_var}
should be empty ${empty_var}
# empty_var_1 == '' (empty string with length 0)
${empty_var_1} = Set Variable ${EMPTY}
log to console ${empty_var_1}
should be empty ${empty_var_1}
为列表创建一个空元素,return 使用“Should Be True”关键字的真值。但不适合创建空 variable.Why 是吗? 代码:
${list1} Create List ${EMPTY}
${list2} Set Variable ${EMPTY}
Should Be True ${list1} Create empty list
Should Be True ${list2} Set empty variable
日志:
20211225 14:24:58.913:信息:${list1} = ['']
20211225 14:24:58.916:TRACE:参数:['']
20211225 14:24:58.916:跟踪:Return:''
20211225 14:24:58.917:信息:${list2} =
20211225 14:24:58.918:TRACE:参数:[[''] | 'Create empty list']
20211225 14:24:58.918:跟踪:Return:None
20211225 14:24:58.919 : TRACE : 参数: [ '' | 'Set empty variable']
20211225 14:24:58.920:失败:计算表达式“”失败:ValueError:表达式不能为空。
这有点违反直觉,因为 ${list1} Create List ${EMPTY}
不是在创建一个空列表,而是一个内部包含空元素的列表,例如['']
,而 ${list2} Set Variable ${EMPTY}
将创建一个空变量,例如''
。这就是为什么 Should Be True
通过列表(列表不为空)但在变量上失败(变量为空)的原因。
下面的代码举例说明了这些情况:
# empty_list == []
${empty_list} = Create List
log to console ${empty_list}
should be empty ${empty_list}
# empty_list_1 == ['']
${empty_list_1} = Create List ${EMPTY}
log to console ${empty_list_1}
should not be empty ${empty_list_1}
# empty_var == '' (empty string with length 0)
${empty_var} = Set Variable
log to console ${empty_var}
should be empty ${empty_var}
# empty_var_1 == '' (empty string with length 0)
${empty_var_1} = Set Variable ${EMPTY}
log to console ${empty_var_1}
should be empty ${empty_var_1}