class ParserError(Exception):
pass
def peek(word_list):
if word_list:
word = word_list[0]
return word[0]
else:
return None
def parse_verb(word_list):
if peek(word_list) != 'verb':
raise ParserError("Expected a verb next.")
文件名为parser.py 要用assert_raises() 来测试这个错误
下面是我写的:
assert_raises(parser.ParserError("Expected a verb next."), parser.parse_verb(word_list),
word_list = [('noun', 'dog')] )
可是出错了,求指点,该咋办???
python 测试急救!在线等
答案:2 悬赏:60 手机版
解决时间 2021-03-07 16:28
- 提问者网友:浩歌待明月
- 2021-03-07 10:02
最佳答案
- 五星知识达人网友:酒者煙囻
- 2021-03-07 10:20
你在做learn python the hardway吧。鼓励一个!
assert_raises的参数:第一个参数是错误类型,仅错误的class名称就可以,即parser.ParserError
第二个参数仅是函数名称,即parser.parse_verb
第三个参数是向测试函数传递的参数,即[('noun', 'dog')]
所以,测试语句是:
assert_raises(parser.ParserError, parser.parse_verb, [('noun', 'dog')] )
祝你成功!
assert_raises的参数:第一个参数是错误类型,仅错误的class名称就可以,即parser.ParserError
第二个参数仅是函数名称,即parser.parse_verb
第三个参数是向测试函数传递的参数,即[('noun', 'dog')]
所以,测试语句是:
assert_raises(parser.ParserError, parser.parse_verb, [('noun', 'dog')] )
祝你成功!
全部回答
- 1楼网友:未来江山和你
- 2021-03-07 10:46
你将leixicon.scan改成leixicon().scan
再试试应该可以了。可能是类没有实例化。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯