doctest相关内容
当使用Sphinx和AutoDoc来记录一个Python项目时,您可以使用:Example:在您的模块/类/函数文档字符串中包含一个代码样例,Sphinx将友好地为您突出显示它的语法。大概是这样的。 >>> rng = Range(0, 1000) >>> rng [0, 1000) >>> len(rng) 1000 >>> rng.start = 500 >>> rng.start 50
..
我有一个简单的function with a doctest,当它与Sphinx的make doctest一起运行时,会出现以下错误: File "scheemey.rst", line ?, in default Failed example: verify_balanced('asdf (foo [bar] [[baz], {}, ()]') Exception raised:
..
我想我漏掉了有关doctest的狮身人面像扩展的某些内容。 文档中的典型示例是: .. doctest:: >>> print 1 1 有没有办法让Shinx自动生成输出(此处:1)? 据我所知,可以运行: $ make doctest 它可以测试代码片段,并将实际输出与预期输出进行比较。例如,如果您有 .. doctest:: >>>
..
在 PyCharm IDE 中,如果我右键单击带有 doctest 的函数/方法,有时右键菜单会给我选项:“Run 'Doctest my_function_name'",有时相反,右键菜单只提供运行整个文件的选项(不是作为 doctest). 什么决定什么时候会给出“run doctest"选项,什么时候不会?有没有办法以一种或另一种方式强制它? 解决方案 在 PyCharm 中运
..
有没有办法编写 python doctest 字符串来测试打算从命令行(终端)启动的脚本,该脚本不会使用 os.popen 调用污染文档示例? #!/usr/bin/env python# 文件名:添加"""例子:>>>导入操作系统>>>os.popen('add -n 1 2').read().strip()'3'"""如果 __name__ == '__main__':从 argparse
..
我有一个函数使用 typing.get_type_hints.我想给它添加一个文档测试.但是,看起来 get_type_hints 无法解析 doctest 中定义的类型. 这是一个简化的例子: 导入输入def f(clazz):""">>>类我的类:... my_field: 'MyClass'>>>f(我的课堂)"""打字.get_type_hints(clazz) 当使用 pyth
..
是否可以将 Python 的 doctest 概念用于类,而不仅仅是函数? 如果是这样,我应该把 doctest 放在哪里——在类的文档字符串中,还是在构造函数的文档字符串中? 为了澄清,我正在寻找类似的东西: 类测试:""">>>a=测试(5)>>>a.multiply_by_2()10"""def __init__(self, number):self._number=numbe
..
假设地说,我的函数返回一个值并且有很多打印语句(可能有 100 个或更多). 有没有办法运行 doctest这样可以忽略/跳过所有其他打印工作(我熟悉 +SKIP 指令,用于跳过 doctest 示例),即当我执行我的函数时(或将我的模块作为脚本运行)与 doctests: python mymodule.py 或者: python -m doctest mymodule.py 我应
..
给定以下 python 脚本: #dedupe.py进口重新def dedupe_whitespace(s,spacechars='\t'):"""合并重复的空白字符.例子:>>>dedupe_whitespace(r"Green\t\tGround") # doctest: +REPORT_NDIFF'绿色\t地面'"""对于空格字符中的 w:s = re.sub(r"("+w+"+)", w
..
我正在像这样编写我的文档测试: >>>some_function(a=1, b=2){u'id': u'123', u'name': u'abc'} 这适用于 Python 版本 2.5、2.6 &2.7 但对于 Python 3 失败并出现以下错误: 预期:{u'id': u'123', u'name': u'abc'}得到了:{'id': '123', 'name': 'abc'}
..
我有一个代码库,可以在 Python 2.7 和 3.2+ 中保持不变.但是文档 rst 文件中的 doctests 让我很头疼.当我在 Python2 中运行它们时,我得到 UnicodeEncodeError: 'ascii' codec can't encode character u'\xb2' in position 16: ordinal not in range(128).如果我添加
..
我希望我的代码在 Python 2 和 3 中工作.我使用 doctests 和 from __future__ import unicode_literals 是否有我可以设置的标志/插件可以忽略 Python 2 具有 u 前缀的 unicode 字符串? 示例 一项在 Python 3 中有效但在 Python 2 中失败的测试: 预期:'我 \\&你.'得到了:你是我 \
..
为通过在原始字典的键中搜索传递的关键字并返回新的缩写字典来缩写字典的方法编写文档测试.我的文档字符串如下所示: def abbreviate_dict(key_word, original_dict):""">>>orig_dict = {apple_stems: 2, apple_cores: 5, apple_seeds: 3}>>>abbreviate_dict('苹果', orig_di
..
我们目前有 pytest 和覆盖插件在 tests 目录中运行我们的测试. 同时运行从我们的主代码中提取的 doctest 的最简单方法是什么?--doctest-modules 不起作用(可能是因为它只是从 tests 运行 doctests).请注意,我们希望在同一进程中包含 doctest(而不是简单地运行 py.test 的单独调用),因为我们希望在代码覆盖率中考虑 doctest.
..
我正在开发一个程序,该程序可以进行一些浮点计算.有什么方法可以用doctests测试我的函数(传递浮点数)吗? 解决方案 当然,请根据对浮点数显示精度的了解,以合理的格式对浮点数进行格式化-例如,如果期望精度为2小数点后的数字,您可以使用: ''''剩下的文档字符串,然后...>>>'%.2f'%funcreturningfloat()'123.45''''
..
我试图使用Python装饰器来捕获异常并记录异常. import os.path进口壁垒类日志(对象):def __init __(self,f):打印"Inside __init __()"自我.f = fdef __call __(自己,* args):打印“内部__call __()"尝试:self.f(* args)除了例外:打印“对不起"@日志def testit(a,b,c):打印
..
我想使用doctest注释块来演示特定基类的用法,但是使用doctest无法做到这一点,或者我做错了什么.这是我简单的演示代码. class MyClass(object):'''>>>m = MyClass()>>>打印m.x1个>>>Class A(MyClass):>>>def __init __():>>>super(A,self).__ init __()>>>>>>a = A()>
..
有没有一种方法可以在 docstring 中指定期望的整数结果十六进制表示法? def identity(val): """ >>> identity(243) 243 >>> identity(243) 0xf3 """ return val if __name__ == "__main__": import doctest
..
我正在尝试使用doctest模块进行Python测试.此刻我做 编写功能测试. 实现功能代码. 如果测试通过,请编写更多测试和更多代码. 该功能完成后,继续执行下一个功能. 因此,在同一个模块中执行了3或4个(独立的)函数并进行了许多测试之后,我通过doctest获得了巨大的输出.而且有点烦人. 有没有办法告诉doctest “不要测试功能a(),b()和c() ",以便仅
..
我有以下doctest编写为 x.doctest : 这是东西: >> x = 3 + 4 foo bar其他: >>来自__future__进口部门 >> y = 15 >> z = int(’24’) >>> m = z / y >>打印(m) 1.6 但是当我运行 python时- m在python 2.7.11上的doctest x.docte
..