Robot FW: Builtin library : Should Not Be Equal 0b1011 11 : 通过但它应该失败,为什么?

Robot FW: Builtin library : Should Not Be Equal 0b1011 11 : Passes but its should fail, why?

考虑以下 "Should Not Be Equal" 关键字的用法:

*** Test Cases ***
Use "Should Not Be Equal"
     Should Not Be Equal 0b1011    11   # Should fail, but passes. Why?
     Should Not Be Equal     0b1011    0xB   # Should fail, but passes. Why?

目标 是通过提供 0b1011(即以 10 为基数的 11)来提供负面的失败测试用例 和 11(以 10 为基数)。由于 11 == 11 为真(以 10 为基数),此测试用例应该失败。

实际结果是测试用例通过,为什么?

因为默认情况下,关键字的所有参数都作为字符串传递。所以这个调用:

Should Not Be Equal    0b1011    11

,类似于python的

"0b1011" != "11"

,计算结果为 True。

如果要查看 integers/numerical 值,方法如下:

Should Not Be Equal    ${0b1011}       # will fail, they are equal.