【问题标题】:python unittest - assert any raisepython unittest - 断言任何提升
【发布时间】:2016-08-22 18:05:03
【问题描述】:

我有一些这样构造的代码:

Method(args):
    try:
          {method}
          if "ok": return True 
          else: return False
      except:
          raise

而且我至少有 3 个单元测试要在这个方法上执行,一个用来断言理想的 True 条件,至少一个我希望 Method 返回 False,并且我希望构建一个在任何时候返回“ok”的测试引发异常/错误。

我已经知道 assertRaise,但它要求一个特定的例外,我希望将任何引发的条件断言为真。

【问题讨论】:

  • 除了块中只有raise(重新引发相同的异常并且什么都不做)的空白try/except(捕获任何异常)有什么意义?只需完全删除 try/except 块...
  • 你没有使用assertRaises。你可以在测试用例中做一个显式的 try/catch。

标签: python unit-testing


【解决方案1】:

由于您基本上捕获了每种异常类型,因此您的assertRaises 应该期待最基本的异常类型,即Exception

assertRaises(Exception, Method)

【讨论】:

  • 我已经试过了...这个单元测试返回一个错误,当我测试异常时,我希望这个测试通过...
  • @BrunoLaget 这不是很清楚。如果发生异常,您希望测试通过吗?这就是assertRaises 所做的。
  • 你说得对,我刚刚纠正了一个语法错误,测试就按我的需要通过了。非常感谢!
猜你喜欢
  • 2015-02-02
  • 2013-09-16
  • 1970-01-01
  • 1970-01-01
  • 2013-01-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多