python - 如何让 PyCharm 查看由 `__doc__` 分配指定的 doctest
问题描述
考虑以下包含 doctests 的文档。
def f(x):
"""
Increments by one.
>>> f(2)
3
"""
return x + 1
PyCharm 的测试运行器(如此处所示)选择了 doctest。
但是 PyCharm 没有将以下内容视为 doctest(尽管pytest --doctest-modules -v
例如可以看到)。
f = lambda x: x + 1
f.__doc__ = """
Increments by one.
>>> f(2)
3
"""
解决方案
根据评论,看起来 PyCharm 期望所有测试至少缩进一个级别(即使是模块级别的 docstring,根本不需要缩进,它似乎依赖于该级别的缩进)。这不是常规文档测试的要求(python3 -mdoctest -v modulename.py
工作得很好),但 PyCharm 一定很难。
您手动分配的文档字符串没有缩进,因此 PyCharm 似乎忽略了它。将其更改为:
f = lambda x: x + 1
f.__doc__ = """
Increments by one.
>>> f(2)
3
"""
使字符串包含一层缩进似乎足以让 PyCharm 加入。
推荐阅读
- excel - Excel 计数 #VALUE 错误
- php - PHP 标头位置不起作用/没有 HTTP 状态:更改
- angular - 设置 HTTP EndPoint 以从 API 接收 POST
- html - 强制损坏的图像以保留硬编码的纵横比
- python - 检测字符串中的两个连续字符串
- sql-server - SQL Server 2016:需要对不同表中的 char 类型的属性进行排名
- google-apps-script - 谷歌应用脚本 - 对照 col A 检查单元格的值,然后编辑相应的 col B
- typescript - TypeScript:将对象放入变量时,类型保护不适用于 switch 语句
- python - 为什么使用yaml配置logger只生成文件不输出
- c - #pragma unroll(0) 和 #pragma unroll(1) 之间有什么区别吗?