问题标签 [doctest]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
266 浏览

python - Handling import errors when using doctest

every now and then when I code in Python, I have to do without certain third-party modules.

Eg. when I'm writing user authentication, it can be done in several ways and one of them is by using LDAP. However if the user does not want to use LDAP auth., he can choose a different option in a config file and in that case he should not have to have ldap module installed.

Generally I solve this by:

and I import ldap module in ldap_auth module only. I personally find this quite nice, however, of course, doctests raise an ImportError when trying to execute ldap_auth.

Now, I know I could catch it by try-ing to import the ldap module in ldap_auth, but that just kinda messes up the nice looking code (the whole point of doing the whole "import ldap_auth as auth" bussiness was to avoid ImportErrors).

Is there any more elegant way to prevent doctests from raising ImportErrors when using this "pattern"?

Cheers,

Tom

0 投票
6 回答
3596 浏览

python - Python doctest 是否消除了对单元测试的需求?

我所在项目的一位开发人员认为,文档测试与单元测试一样好,并且如果一段代码经过文档测试,则不需要进行单元测试。我不相信是这样的。任何人都可以提供一些可靠的、理想引用的例子来支持或反对 doctests 取代单元测试需求的论点吗?

谢谢-丹尼尔

编辑:任何人都可以提供参考说明文档测试不应该取代单元测试吗?

0 投票
4 回答
20944 浏览

python - Python:对类使用文档测试

是否可以将 Python 的 doctest 概念用于类,而不仅仅是函数?

如果是这样,我应该将文档测试放在哪里 - 在类的文档字符串中,还是在构造函数的文档字符串中?

为了澄清,我正在寻找类似的东西:

提前致谢,

亚当

0 投票
3 回答
973 浏览

python - 在 python 程序中使用 doctest 和登录

我想为我的所有打印语句使用记录器模块。我已经查看了前 50 个顶级谷歌链接,他们似乎同意 doctest 使用它自己的标准输出副本。如果使用打印,则如果使用记录器,它会工作,它会记录到根控制台。有人可以使用允许我组合的代码片段演示一个工作示例。注意运行鼻子测试 doctest 只会在测试结束时附加日志输出,(假设您设置了开关)它不会将它们视为打印语句。

0 投票
5 回答
3294 浏览

python - 接收和显示用户输入的 Doctesting 函数 - Python(扯掉我的头发)

我目前正在使用 Python (3.1) 编写一个小型应用程序,并且像一个好孩子一样,我边做边做文档测试。但是,我遇到了一种我似乎无法进行测试的方法。它包含一个input(), an 因此,我不完全确定在 doctest 的“预期”部分中放置什么。

说明我的问题的示例代码如下:

运行 doctests 时,程序在打印“Expecting”部分后立即停止执行,等待我一个接一个地输入五个数字(没有提示),然后继续。如下所示:

文档测试结果

我不知道我可以在我的 doctest 的 Expecting 部分放置什么,以便能够测试接收然后显示用户输入的方法。所以我的问题(最后)是,这个函数是否可测试?

0 投票
1 回答
548 浏览

python - pdb 在 django doctests 中不起作用

所以我创建了以下文件(testlib.py)来自动将所有 doctests(在我的嵌套项目目录中)加载到 tests.py__tests__字典中:

为了在应得的地方给予信任,其中大部分来自这里

在我的 tests.py 文件中,我有以下代码:

所有这些都可以很好地从我的所有文件和子目录中加载我的文档测试。问题是,当我在任何地方导入和调用 pdb.set_trace() 时,看到的就是:

doctest 显然是在捕获和调解输出本身,并在评估测试时使用输出。因此,当测试运行完成时,我在 doctest 的失败报告中看到了当我在 pdb shell 中时应该打印的所有内容。无论我是在 doctest 行内还是在被测试的函数或方法内调用 pdb.set_trace(),都会发生这种情况。

显然,这是一个很大的拖累。Doctests 很棒,但是没有交互式 pdb,我无法调试它们检测到的任何故障以修复它们。

我的思考过程是可能将 pdb 的输出流重定向到绕过 doctest 对输出的捕获的东西,但我需要一些帮助来确定执行此操作所需的低级 io 内容。另外,我什至不知道这是否可能,而且我对 doctest 的内部结构太不熟悉了,不知道从哪里开始。那里的任何人都有任何建议,或者更好的一些可以完成此任务的代码?

0 投票
1 回答
823 浏览

python - Python doctests / sphinx:风格指南,如何使用这些并拥有可读的代码?

我喜欢 doctests,它是我唯一使用的测试框架,因为它写起来非常快,而且因为与 sphinx 一起使用,它几乎不费吹灰之力就能制作出如此出色的文档......

然而,很多时候,我最终会做这样的事情:

我的意思是我把我所有的测试和文档解释都放在了模块的顶部,所以你必须愚蠢地滚动才能找到实际的代码,这很丑陋(在我看来)。但是,我认为文档测试应该仍然保留在模块中,因为您应该能够在阅读源代码时阅读它们。所以我的问题来了:sphinx/doctests 爱好者,你如何组织你的 doctests,比如代码可读性不受影响?是否有针对 sphinx 的 doctests 样式指南?对于带有 sphinx 的文档字符串,您使用google 或 sphinx style-guide还是其他方式?

0 投票
1 回答
3475 浏览

python - Python doctest 错误

嗨,我最近开始尝试使用 python,目前正在阅读“像计算机科学家一样思考:学习 python v2nd 版”,我在使用 doctest 时遇到了一些问题。我使用带有 pydev 的 windows 7 机器和 Eclipse IDE。

我的问题是当我运行下面的脚本时,我得到下面的错误。所述脚本位于错误消息下方


0 投票
3 回答
262 浏览

testing - 有没有类似于 Python 的 Doctest 的 Matlab 工具?

在我的 Python 开发中,doctest确实有助于

  • 使编写单元测试不那么烦人,并且
  • 将使用示例与文档集成。

我想知道,在 Matlab 世界中是否有类似的东西可用?它不必从字面上使用代码注释作为测试,但如果它具有这两个理想的品质,那就太好了!

0 投票
6 回答
978 浏览

python - python模块的单元测试基础设施

我正在编写一个 python 模块,我想对它进行单元测试。我是 python 新手,对可用的选项有些迷惑。

目前,我想将我的测试编写为doctest,因为我喜欢声明式而不是命令式的风格(但是,如果它被误导,请随时取消我的这种偏好)。然而,这提出了几个问题:

  1. 我应该把测试放在哪里?在与他们正在测试的代码相同的文件中(或在 doctests 的文档字符串中)?还是认为将它们分开到自己的目录中更好?
  2. 如何从命令行一次性运行整个模块中的所有测试?
  3. 如何报告测试套件的代码覆盖率?
  4. 对于 python 中的单元测试,我应该注意哪些其他最佳实践?