2016-10-19 21 views
6

Có vẻ là một gói phần mềm để kích hoạt chức năng này, nhưng tôi không có may mắn với nó trong python 3.5.2 hoặc 2.7.12:Có thể chạy python doctest trên một chức năng tế bào jupyter?

from ipython_doctester import test 

@test 
def my_fun(): 
    ''' 
    >>> 2 + 3 
    6 
    ''' 
    pass 

TypeError: data must be a dict, got: 'ipython_doctester' 

Có thể chạy một doctest từ một tế bào jupyter sử dụng gói này hoặc một số cách khác?

Tôi cũng đã xem% doctest_mode và tôi thấy rằng nó bật và tắt chế độ Doctest, nhưng không thể chạy tài liệu thực tế từ ô.

Trả lời

6

Hãy thử điều này trên máy tính xách tay Jupyter:

def my_fun(): 
    ''' 
    >>> 2 + 3 
    6 
    ''' 
    pass 

import doctest 
doctest.testmod() 

Kết quả sẽ là:

********************************************************************** 
File "__main__", line 3, in __main__.my_fun 
Failed example: 
    2 + 3 
Expected: 
    6 
Got: 
    5 
********************************************************************** 
1 items had failures: 
    1 of 1 in __main__.my_fun 
***Test Failed*** 1 failures. 
TestResults(failed=1, attempted=3) 

(Tôi đã từng trăn 2.7.12)

+0

Nhưng cũng hoạt động ở trăn 3.5 :) – josh

0

Tôi cứ đánh trang này, nhưng muốn chạy thử nghiệm cho một hàm duy nhất. Trong trường hợp đó, câu trả lời tại https://stackoverflow.com/a/10081450/741316 sẽ giúp. Cụ thể:

def my_fun(): 
    ''' 
    >>> 2 + 3 
    6 
    ''' 
    pass 

import doctest 
doctest.run_docstring_examples(my_fun, globals()) 
Các vấn đề liên quan