我有一个像management_utils.py这样的库:
path = global_settings.get_rdio_base_path()
if path == "":
raise PathRequiredError("Path is required...")
def some_keyword():
# keyword requires path to be set to some valid value
在我的测试用例文件中,我有类似的内容:
***Settings***
Library management_utils
***Test Cases***
Smoke Test
some keyword
...
如果management_utils设置失败,是否可以中止运行这些测试用例?基本上,如果在management_utils.py中引发了PathRequiredError,我想中止这些测试用例的执行。
当我运行测试时,我看到错误被引发但继续执行。
我在Robot文档中看到,您可以在错误类中设置ROBOT_EXIT_ON_FAILURE = True,但这似乎不适用于这种情况。理想情况下,我还可以更精细地执行某些操作,以便它只中止需要此库的测试用例,而不是所有测试执行。
谢谢!
答案 0 :(得分:0)
问题是在库加载期间引发了异常,因为它位于模块的顶层。 ROBOT_EXIT_ON_FAILURE仅在失败来自关键字时生效。
相反,这样做:
def get_path():
path = global_settings.get_rdio_base_path()
if path == "":
raise PathRequiredError("Path is required...")
def some_keyword():
path = get_path()
...
现在异常在关键字中引发,测试执行将停止。
至于另一点,没有办法使用ROBOT_EXIT_ON_FAILURE中止一些测试。