我有一个具有try/except的函数,如下所示:

def func_A():
  try:
       # do some stuff
  except Exception as e:
     log.error("there was an exception %s", str(e))

我想为此func_A()编写单元测试
更重要的是,我要确保
  • 里面没有异常

  • 我有try/except只是为了安全。
    除非有错误,否则A内不会抛出任何异常(尽管它会被try/except捕获),这就是我要通过单元测试进行验证的内容。

    单元测试捕获引发和捕获异常的情况的最佳方法是什么?

    最佳答案

    如果确实需要此方法,则一种可能的方法是模拟log.error对象。调用func_A函数后,您可以断言未调用您的模拟程序。

    请注意,如果您不打算实际处理异常,则根本不应该捕获异常。为了获得适当的测试范围,您应该在此处提供2个测试-一个用于检查try/except的每个分支。

    关于带有try/except的函数的Python单元测试,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40313230/

    10-13 04:39