问题标签 [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.
python - 你能检查一下 Python 中的 doctest 是否引发了异常吗?
是否可以编写一个doctest
单元测试来检查是否引发了异常?
例如,如果我有一个foo(x)
应该引发异常 if 的函数,x < 0
我将如何为此编写doctest
?
python - Python - doctest 与 unittest
我正在尝试开始在 Python 中进行单元测试,我想知道是否有人可以解释 doctest 和 unittest 的优缺点。
你会在什么条件下使用它们?
c++ - C++ 相当于 Python 的文档测试?
我认为Python 的 doctests的概念很棒,作为实时商店的 C++ 程序员,我非常嫉妒。我们基本上没有单元测试能力,这是一个严重的障碍。我见过 C++Unit 等,但是有什么东西可以从 Python 的 doctests 之类的注释中提取测试用例,而不是直接将它们放入代码中?
python - 动态创建对象的 Doctest
测试这样的代码的最佳方法是什么(下面的方法显然失败,而对象每次都在不同的块中创建):
python - 你能区分测试和变量设置吗?
我喜欢 doctest,但是当您在传递给函数之前需要设置复杂的参数时,它变得非常难以阅读。因此,您开始使用多行分配然后调用您想要测试的函数。这种方法但是,将报告您有多个测试,而不是您拥有的实际测试数量.. 一个例子将说明我的意思..
在上面的代码片段中,只有一个测试,另一个只是一个变量赋值,但是,这就是报告的内容..
我查看了记录的标志,当然我错过了一些东西..
python - 在 Python 的单元测试中使用 doctest“结果解析器”?
我最近遇到了一个关于在 Python 中组合单元测试和文档测试的问题。我以其他方式解决了这个问题,但我仍然对此有疑问。
Python 的 doctest 模块解析模块中的文档字符串,并在每一行的开头运行“>>>”之后的命令,并将其输出与文档字符串中的输出进行比较。
我想知道我是否可以在需要时使用 doctest 模块实现的比较方法。我知道可以将 doctest 作为测试用例添加到测试套件中,但在这里我想在单个测试用例中进行。
它是这样的:
因为 doctest 使用一些启发式方法来比较省略号等输出。
有人会给出想法或建议吗?
python - python doctest 可以忽略一些输出行吗?
我想写一个这样的doctest:
有没有办法做到这一点?我认为切换到 unittest 会更有意义,但我很好奇是否可以指定一个不应该与 doctest 中的测试匹配的输出范围。
谢谢!
python - 如何处理此文本文件并解析我需要的内容?
我正在尝试解析 Python doctest 模块的输出并将其存储在 HTML 文件中。
我有类似这样的输出:
每个失败之前都有一行星号,用于分隔每个测试失败。
我想做的是去掉失败的文件名和方法,以及预期和实际结果。然后我想使用它创建一个 HTML 文档(或将其存储在一个文本文件中,然后进行第二轮解析)。
如何仅使用 Python 或 UNIX shell 实用程序的某种组合来做到这一点?
编辑:我制定了以下 shell 脚本,它匹配我想要的每个块,但我不确定如何将每个 sed 匹配重定向到它自己的文件。
python - doctests 中的字符串引用问题
当我在不同的 Python 版本(2.5 与 2.6)和不同的平台(FreeBSD 与 Mac OS)上运行 doctests 时,字符串的引用方式不同:
因此,在一个盒子上,repr(decimal.Decimal('5.00')) 会导致“Decimal(“5.00”)”,而另一个盒子会导致“Decimal('5.00')”。有没有办法在不创建更复杂的测试逻辑的情况下解决这个问题?
python - DOCTEST==argv[0] 作为约定?
在我正在编写的一些 Python 中(命令行和过滤器测试工具:claft)我想要一种简单的方法来调用内置测试套件(doctest),我决定如下:
因此,如果为其他程序设置了 DOCTEST 变量,我将忽略它。事实上,我对此的测试只是: DOCTEST=./claft ./claft 或者如果我想详细一点,我可以使用: DOCTEST=./claft VERBOSE=1 ./claft 所以即使我离开 DOCTEST=./claft我的环境只有当我从它自己的目录中调用我的程序时,测试代码才会运行。如果我切换到我的一个测试套件并使用相对 PATH 调用它,那么我可以避免无意中触发此功能。
有没有其他人使用过这种约定?
避免环境变量名称之间冲突的其他建议或最佳实践是什么?提供对测试工具功能的“隐藏”访问?
(另外,如果有人想玩claft ,请随意试一试。目前它的代码非常丑陋,几乎不能作为概念证明。但它的功能极少。这也是自学如何的好方法使用 Mercurial 和 bitbucket。wiki 和问题跟踪是发布有关craft的反馈的最佳场所)。