在失败的断言上触发函数

2024-04-23 08:07:27 发布

您现在位置:Python中文网/ 问答频道 /正文

如果断言失败,是否有方法触发函数?你知道吗

我现在正在考虑unittest,但是如果需要的话可以改变测试框架。你知道吗

我想在断言失败时截图


Tags: 方法函数框架断言unittest需要的话
1条回答
网友
1楼 · 发布于 2024-04-23 08:07:27

这是:

try:
   assert something == something_else
except AssertionError:
   take_screenshot()

是你能做到的一种方法。你知道吗

在某些情况下,您可能需要使用装饰器:

>>> def assertd(function):
        def _f(*args):
            try:
                return function(*args)
            except AssertionError:
                takescreenshot()
        return _f

>>> @assertd
def f(x, y):
    assert x > 0
    return x + y

>>> f(1, 2)
3
>>> f(5, 6)
11
>>> f(-7, 8)
<Screenshot taken>

相关问题 更多 >