永发信息网

python:assert_raises() 怎么用啊,有哪些参数? 请说得详细些,先谢谢了!

答案:1  悬赏:70  手机版
解决时间 2021-12-22 21:09
python:assert_raises() 怎么用啊,有哪些参数? 请说得详细些,先谢谢了!
最佳答案
刚才查了,它应该是nose测试框架中的一个测试用例的书写办法。如果没有文档,就看它的源代码。我刚刚下载了nose。


在1.0版本里找到这样一句话。
def raises(*exceptions):
    """Test must raise one of expected exceptions to pass.
    .....

    If you want to test many assertions about exceptions in a single test,
    you may want to use `assert_raises` instead.
    """
从含义上看,应该是确保一定要发生异常。而且要用在大量使用assert语言产生异常的条件下。


下面一段更说明问题。
def assert_raises(exception, callable, *args, **kw):
try:
callable(*args, **kw)
except exception, e:
return e
else:
if hasattr(exception, '__name__'):
name = exception.__name__
else:
name = ' or '.join([e.__name__ for e in exception])
assert False, '%s() did not raise %s' % (callable.__name__, name)

Usage:
def test_foo():
    e = assert_raises(EnvironmentError, open, '/tmp/notfound')
    assert e.errno == errno.ENOENT 还比如这样子。
import math

import py.test
py.test.raises(OverflowError, math.log, 0)
py.test.raises(ValueError, math.sqrt, -1)
py.test.raises(ZeroDivisionError, "1 / 0")

import nose.tools
nose.tools.assert_raises(OverflowError, math.log, 0)
nose.tools.assert_raises(ValueError, math.sqrt, -1)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
请教各位服装行的前辈,男士一千条三角内裤和
孩子考上大学以后不好好学习了怎么办
阅读理解Hi!Haveyoueversuddenlyfeltthatsom
手机上有什么可以创建房间的斗地主游戏,就是
请问,有请4000基金 再看 000998 隆平高科如何
下列数据中,符合事实的是A.初中物理课本中一
合同欺诈,已经上网追逃了,如和报案人达成协
怎样伪正太音
2008年4月3日,广州市某商业银行打出广告称:
古典饭店名字
从重庆江北机场到菜园坝火车站最快的坐车方式
青少年品德形成和发展中德育起着什么作用
问道手游天地星介绍
加热一体净水机是不是都没有自动冲洗电磁阀?
2008年奥运会的主场馆“鸟巢”吸引了大批的游
推荐资讯
广汽传祺gs5天窗开关在什么位置
角字的偏旁是什么
小明的月考、期中考试和期末考试成绩分别是90
崇州客运中心站到街子古镇怎么走
介绍几本关于股指期货的书好吗,多谢!
英语翻译"打扰一下,我能说几句吗
单选题一株玉米一生中,通过根系吸水200kg,
多选题下列存在于人体细胞并且能为人体生命活
森歌集成灶修拆卸方法?
单选题He______20dollarsforhisoldbikethe
怎么安装独立显卡
母亲扑过来抓住我的手忍住哭声说:“咱娘儿俩
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?