文档测试中的替代结果

5 投票
2 回答
1076 浏览
提问于 2025-04-16 09:27

我有一个文档测试,用来测试浮点数的转换:

>>> float('fish')

在Python 2.7之前,这个测试的结果是:

ValueError: invalid literal for float(): fish

在Python 2.7中,结果是:

ValueError: could not convert string to float: fish

我可以让这两个结果在我的文档测试中都被接受吗?

2 个回答

3

是的,可以用这样的方式:

>>> float('fish') #doctest: +IGNORE_EXCEPTION_DETAIL
Traceback (most recent call last):
ValueError:

你可以在这里查看原因。

4

你可以找找 doctest.IGNORE_EXCEPTION_DETAIL 这个选项。文档里有个不错的例子教你怎么用它。你还可以在 doctest 里使用 ellipsis 常量,就像是一个通配符。

可以像这样写 doctest:

>>> float('fish')
ValueError:...

你可以在这里看到 Alex Martellis 关于这个问题的帖子 这里

撰写回答