我正在评估自动化系统测试的“测试框架”;到目前为止我正在寻找一个Python框架。
在 py.test 或鼻子中,我看不到类似我从谷歌测试框架中知道的 EXPECT 宏的东西。
我想在一个测试中做出多个断言,同时不在第一次失败时中止测试。
我在这些框架中遗漏了一些东西还是这不起作用?
有人对可用于自动化系统测试的 python 测试框架有建议吗?
我想要类似的功能测试,我正在使用鼻子进行。我最终想出了这个:
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
换句话说,它打印出指示测试是否通过或失败的字符串。在测试结束时,您调用调用方法,该方法实际上执行以下操作real断言。这绝对不是优选的,但我还没有见过可以处理这种测试的Python测试框架。我也没有抽出时间去弄清楚如何编写一个鼻子插件来完成这种事情。 :-/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)