嵌套文档字符串的 Doctest

2024-03-11

假设我有以下代码:

def foo(s):
    """A dummy function foo. For example:

>>> a = '''This is a test string line 1
This is a test string line 2
This is a test string line 3'''
>>> foo(a)
This is a test string line 1
This is a test string line 2
This is a test string line 3
>>>
    """
    print s

if __name__ == '__main__':
    import doctest
    doctest.testmod()

我们将其保存为 foo.py。当我跑步时:

C:\Python27>python.exe foo.py
**********************************************************************
File "foo.py", line 5, in __main__.foo
Failed example:
    a = '''This is a test string line 1
Exception raised:
    Traceback (most recent call last):
      File "C:\Python27\lib\doctest.py", line 1254, in __run
        compileflags, 1) in test.globs
      File "<doctest __main__.foo[0]>", line 1
        a = '''This is a test string line 1
                                          ^
    SyntaxError: EOF while scanning triple-quoted string literal
**********************************************************************
File "foo.py", line 8, in __main__.foo
Failed example:
    foo(a)
Exception raised:
    Traceback (most recent call last):
      File "C:\Python27\lib\doctest.py", line 1254, in __run
        compileflags, 1) in test.globs
      File "<doctest __main__.foo[1]>", line 1, in <module>
        foo(a)
    NameError: name 'a' is not defined
**********************************************************************
1 items had failures:
   2 of   2 in __main__.foo
***Test Failed*** 2 failures.

已尝试缩进文档字符串(>>> a = '''...'''。已检查所有缩进 - 每个缩进 4 个空格)并将单引号更改为双引号(>>> a = """.. .."""),错误是不同的,文档测试不会成功。目前唯一可行的方法是将所有行连接到一个极长的字符串并用 '\r\n' 分隔。

我错过了什么吗?


我认为你需要在那里放一些点

>>> a = """This is a test string line 1
... This is a test string line 2
... This is a test string line 3"""
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

嵌套文档字符串的 Doctest 的相关文章

随机推荐

  • JavaScript 可以捕获语法错误吗?

    MDN 状态 https developer mozilla org en US docs Web JavaScript Reference Global Objects SyntaxError 当 JavaScript 引擎在解析代码时遇
  • 如何在父级中绑定子用户控件数据上下文

  • 在 R 的 JAGS 或 BUGS 中指定离散威布尔分布

    我使用 R 中的 JAGS 将威布尔模型拟合到离散值 将威布尔模型拟合到连续数据没有问题 但当我切换到离散值时 我遇到了麻烦 以下是在 JAGS 中拟合威布尔模型的一些数据和代码 draw data from a weibull distr
  • C++ 变量声明语法

    我最近遇到了这个结构 整数 米 这似乎相当于 整数米 奇怪的是 我以前从未见过这个特殊的成语 有人可以给我指出一个参考资料 我可以在其中阅读相关规范 或者直接解释一下吗 这也适用于直 C 吗 谢谢 困惑的开发者 这不是一个 习语 它只是一对
  • 使用数据注释进行模型验证的错误消息

    给定以下课程 using System ComponentModel DataAnnotations public class Book public Contact PrimaryContact get set public Contac
  • React JS 不支持 Html“align”属性

    我是 ReactJS 的新手 在反应组件中 我已经 var SaveOrganization React createClass render function return div align center a href addVenue
  • Nuxt 3 - 如何每n分钟刷新一次获取的数据

    因此 在我的数据库中 数据每分钟都会刷新 数据实际上更新 我检查过 然后我在页面上显示这些数据 当我在页面之间切换以及手动刷新页面时 数据会被获取 但如果我坐在一个页面上例如 5 分钟 即使数据库中的数据更新 数据也不会在页面端刷新 是否可
  • IE8 CSS 和 html 与 IE7 对比

    请原谅这里的任何鲁莽 我正无能为力地寻找答案 我正在寻找从 IE7 更改为 IE8 的特定 html 和 css 标签的列表 如果存在 或一些资源指南 具体来说 我想看到类似 此代码在 IE7 中有效 但在 IE8 中无效 这是损坏的标签相
  • Javascript document.getSelection

    我正在尝试使用 document getSelection 来选择我在所见即所得编辑器的文本区域中输入的文本 但只有当您选择文本区域之外的文本时 它才有效 不知道有没有办法让它选择文本区域内的文本 下面是所见即所得文本编辑器的文本区域 您需
  • 从按分钟计算的原始数据中按小时聚合 MySQL 数据

    我有一个表 table 1 其中包含每分钟的数据 如下所示 date time value 2015 06 05 18 00 00 222 663 2015 06 05 18 01 00 222 749 2015 06 05 18 02 0
  • Mac系统上检测框架使用情况?

    我想在 OSX 上开发示例框架 并要求在任何时候该框架只能由单个客户端使用 我不知道如何实现这一点 他们有 API 来检测框架正在使用的天气吗 我们可以为此使用一些与文件相关的 API 吗 我看过一个 Windows 示例 其中使用以下命令
  • 在 jQuery 1.8 中的自定义过滤器选择器中获取“匹配”对象

    作为参考 这里有一篇文章使用 jQuery 创建自定义过滤器选择器 http answers oreilly com topic 1055 creating a custom filter selector with jquery 介绍 对
  • 大型文本文件中的词频

    我试图读取一个大文本文件并输出其中的不同单词及其计数 到目前为止 我已经尝试了几次 这是迄今为止我想出的最快的解决方案 private static readonly char separators public IDictionary
  • 为什么分配给空列表有效但分配给空元组无效?

    这出现在最近的 PyCon 演讲 https youtu be MCs5OvhV9S4 t 42m17s 该声明 没有做任何有意义的事情 但它也不会抛出异常 我感觉这一定是由于拆包规则造成的 你可以做元组拆包 http openbookpr
  • Amazon S3 区域转移? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 如何将特定区域的 S3 存储桶的内容传输到另一个特定区域的另一个 S3 存储桶 如果可以的话请提供最简单的方法和详细的步骤 您可以使用AWS 控制台
  • Python 中的yield 和C# 中的yield 之间的区别

    有什么区别yieldPython 中的关键字和yieldC 中的关键字 C s yield return相当于Python的yield and yield break只是return在Python中 除了这些细微的差别之外 它们的目的基本相
  • 智能垂直流线布局

    我正在 JPanel 布局 Swing 中寻找以下行为 基本上它会以垂直方式排列组件 一个组件彼此排列 当组件无法垂直放入容器中时 应将下一个组件添加到新行中 这将动态地继续 根据需要添加新行 添加 3 个标签后 它看起来像这样 label
  • Spring ControllerAdvice和认证/授权异常处理

    在我的 Spring Boot 应用程序中 我有以下 Web 安全配置 Configuration EnableWebSecurity public class WebSecurityConfiguration extends WebSec
  • SQL 对密码进行哈希处理

    我使用 SQL 语句手动从旧数据导入到 MSSQL 当我从原始文本密码散列到数据库中的 MVC 5 密码 HASH 字段时 我得到有趣的字符 如何将哈希插入 mvc5 身份表 MVC 5 表也使用 nvarchar select HASHB
  • 嵌套文档字符串的 Doctest

    假设我有以下代码 def foo s A dummy function foo For example gt gt gt a This is a test string line 1 This is a test string line 2