gpt4 book ai didi

支持非致命故障的 Python 测试框架

转载 作者:太空狗 更新时间:2023-10-30 01:24:26 28 4
gpt4 key购买 nike

我正在评估自动化系统测试的“测试框架”;到目前为止,我正在寻找一个 python 框架。在 py.test 或 nose 中,我看不到像我从谷歌测试框架中知道的 EXPECT 宏那样的东西。我想在一个测试中做出多个断言,而不是在第一次失败时中止测试。我是否遗漏了这些框架中的某些内容,或者这不起作用?有人对可用于自动化系统测试的 python 测试框架有什么建议吗?

最佳答案

我想要一些与我正在使用 nose 进行的功能测试类似的东西。我最终想到了这个:

def raw_print(str, *args):
out_str = str % args
sys.stdout.write(out_str)

class DeferredAsserter(object):
def __init__(self):
self.broken = False
def assert_equal(self, expected, actual):
outstr = '%s == %s...' % (expected, actual)
raw_print(outstr)
try:
assert expected == actual
except AssertionError:
raw_print('FAILED\n\n')
self.broken = True
except Exception, e:
raw_print('ERROR\n')
traceback.print_exc()
self.broken = True
else:
raw_print('PASSED\n\n')

def invoke(self):
assert not self.broken

换句话说,它打印出指示测试是通过还是失败的字符串。在测试结束时,您调用 invoke 方法,该方法实际上执行真实 断言。这绝对不是可取的,但我还没有看到可以处理这种测试的 Python 测试框架。我也没有想出如何编写一个 Nose 插件来做这种事情。 :-/

关于支持非致命故障的 Python 测试框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1307367/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com