2011-01-05 57 views
5

我有一個文檔測試,其中I測試浮子轉換:替代結果

>>> float('fish') 

在Python < 2.7,這導致:

ValueError: invalid literal for float(): fish 

在Python 2.7結果是

ValueError: could not convert string to float: fish 

我可以在我的doctest中將這兩個結果都接受嗎?

回答

4

您正在尋找doctest.IGNORE_EXCEPTION_DETAIL選項。該文檔有一個如何使用它的好例子。您也可以像通配符那樣在doctest中使用ellipsis常量。

像這樣的東西作爲文檔測試:

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

你可以看到同樣的事情here亞歷克斯Martellis崗位。

+1

現在,這是一個很好的用於省略號(這是一個恆定的單身人士,但!) – delnan 2011-01-05 17:08:12

+0

哦,你的權利。它不是文件操作員。 – 2011-01-05 19:11:11

3

是像這樣的東西:

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

here爲什麼。