如果设置库设置失败,有没有办法中止测试?

时间:2013-01-29 21:20:56

标签: python robotframework

我有一个像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,但这似乎不适用于这种情况。理想情况下,我还可以更精细地执行某些操作,以便它只中止需要此库的测试用例,而不是所有测试执行。

谢谢!

1 个答案:

答案 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中止一些测试。