开发者社区> 问答> 正文

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

我正在评估用于自动化系统测试的“测试框架”;到目前为止,我正在寻找python框架。在py.test或鼻子中,我看不到从Google测试框架知道的EXPECT宏之类的东西。我想在一个测试中做出几个断言,同时不要在第一次失败时中止测试。我在这些框架中缺少什么吗?有人对可用于自动化系统测试的python测试framworks有建议吗?

展开
收起
祖安文状元 2020-02-21 15:56:46 397 0
1 条回答
写回答
取消 提交回答
  • 我想要使​​用鼻子进行功能测试的类似功能。我最终想到了这个:

    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测试框架。我也没有弄清楚如何编写一个鼻子插件来做这种事情。:

    2020-02-21 15:56:55
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
移动互联网测试到质量的转变 立即下载
给ITer的技术实战进阶课-阿里CIO学院独家教材(四) 立即下载
F2etest — 多浏览器兼容性测试整体解决方案 立即下载