有没有办法让Pycco将doctests识别为代码并正确渲染它们?
E.g。以下函数的文档字符串
def fib(i):
""" Fibonacci number
>>> fib(10)
55
"""
if i < 2:
return i
else:
return fib(i-1) + fib(i-2)
在Pycco中呈现如下
Fibonacci number
fib(10) 5
显然,>>>
被解释为缩进,代码突出显示未生效。这似乎是一个常见的用例。在某个地方有一个我不知道的插件吗?
答案 0 :(得分:1)
Python并不介意doctest
套件是否与文档字符串的其余部分相比缩进了额外的四个字符,只要它内部一致,因此以下内容将通过测试(在2.7中测试) .9和3.4.2):
def test():
"""Doctest test
The following are doctests:
>>> test()
'foo'
That went well.
"""
return 'foo'
if __name__ == "__main__":
import doctest
doctest.testmod(verbose=True)
这个额外的缩进将被解释为pycco
的代码块,就像在SO上的Markdown一样。上面的测试用HTML呈现如下: