2011-01-05 27 views
5

Tôi có một doctest nơi tôi thử nghiệm một chuyển đổi float:kết quả Alternative trong doctests

>>> float('fish') 

Trong Python < 2,7 kết quả này trong:

ValueError: invalid literal for float(): fish 

Trong Python 2.7 kết quả là

ValueError: could not convert string to float: fish 

Tôi có thể kết hợp cả hai kết quả này trong tài liệu của mình không?

Trả lời

4

Bạn đang tìm kiếm tùy chọn doctest.IGNORE_EXCEPTION_DETAIL. Tài liệu này có một ví dụ tốt về cách sử dụng nó. Bạn cũng có thể sử dụng hằng số ellipsis trong doctest như ký tự đại diện.

Something như thế này là doctest:

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

Bạn có thể thấy Alex Martellis bài về cùng điều này here.

+1

Bây giờ đó là một cách sử dụng tuyệt vời cho dấu chấm lửng (là một singleton không đổi!) – delnan

+0

Ồ đúng của bạn. Nó không phải là một toán tử trong các docutils. –

3

Có với một cái gì đó như thế này:

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

nhìn here cho lý do tại sao.

Các vấn đề liên quan