带assert语句的Python unittests(带异常)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了带assert语句的Python unittests(带异常)相关的知识,希望对你有一定的参考价值。

method 'E' (in fact a decorator) catch the execption and return it, so it's possible to use the good old assert statement.
  1. import sys
  2.  
  3. def E(m):
  4. def _c(*a,**k):
  5. try:
  6. return m(*a,**k)
  7. except:
  8. return sys.exc_info()[0]
  9. return _c
  10.  
  11. def methodToTest(x):
  12. return 2/x
  13.  
  14. if __name__ == "__main__":
  15. assert methodToTest(2)==1
  16. assert methodToTest(1)==2
  17. assert E(methodToTest)(0)==ZeroDivisionError
  18.  
  19. # alternative way :
  20.  
  21. methodToTest = E(methodToTest) # force decoration
  22. assert methodToTest(1)==2
  23. assert methodToTest(2)==1
  24. assert methodToTest(0)==ZeroDivisionError

以上是关于带assert语句的Python unittests(带异常)的主要内容,如果未能解决你的问题,请参考以下文章

Selenium2+python自动化56-unittest之断言(assert)

Selenium2+python自动化56-unittest之断言(assert)转载

unittest----assert断言的使用

Python Mocking assert_called不起作用

python unittest

python中的unittest有啥作用