问题标签 [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 回答
549 浏览

matlab - 运行没有命名空间污染的 MATLAB 代码片段

我正在为 MATLABdoctest编写 Python 的测试运行器版本(它部分有效......)。为此,我需要在人们的 m 文件帮助中运行示例中的代码。我希望变量从一行延续到下一行,例如

为了运行测试,我对搜索测试的 REGEX 进行了匹配循环。对于每场比赛,我都会evalc举例并确保结果匹配:

问题是示例的定义I现在已经破坏了我的循环中的循环变量,因为分配从eval转移到外部范围。我四处寻找能够创建新范围/工作区的东西,但evalin只能重用调用者的工作区,这更糟。我也考虑过调用子函数或save/的选项load,但没有得到任何地方,但也许我只是想得不够努力。

所以我想我只需要命名我所有的变量doctest__system__*并忍受命名空间问题......除非你对避免变量名冲突的策略有另一个想法?

0 投票
2 回答
501 浏览

python - 在 doctest 字符串中嵌入测试代码或数据

我想在文件共享测试数据和/或函数中有几个 doctests。有没有办法在不将它们定位在外部文件或被测试文件的代码中的情况下做到这一点?

更新

所以我猜想doctest复制一次模块,然后复制每个文档字符串的副本?

在任何情况下,将模块导入每个文档字符串似乎是有用的,如果尴尬的话。

我更愿意为此使用单独的命名空间,以避免意外践踏实际模块数据,这些数据将以可能未记录的方式导入或不会导入到后续测试中。

我突然想到(理论上)可以动态创建一个模块以包含这个命名空间。但是,到目前为止,我还没有从我不久前提出的问题中得到关于如何做到这一点的任何方向。任何信息都非常受欢迎!(作为对适当问题的回应)

在任何情况下,我都希望将更改直接传播到后续文档字符串的命名空间中。所以我最初的问题仍然存在,作为一个限定词。

0 投票
1 回答
531 浏览

python - PyDev 在文档测试中设置断点

是否可以使用 PyDev(即 eclipse)在 doctests 中设置断点?我发现虽然我似乎能够这样做,但断点根本不起作用。

在问题中有一些代码,并澄清,说我有

并且我在 doctest 中的 funct() 调用处设置了一个断点。我可以这样做吗?

PS:我知道我能做到

在 doctest 中有提示,但我不希望插入这样的行。

0 投票
1 回答
664 浏览

python - Python 在主线上使用 doctest

您好,我想知道这是否可能,如果可以,如何?从主线做 doctests 或类似的事情,而不是像 doctest docs 中描述的那样测试一个函数,即

这是能够针对文档字符串测试学生脚本的一部分,我发现这个代码片段允许我输入两者作为强项

这或多或少,但似乎并不理想,对任何一点的建议

0 投票
2 回答
3783 浏览

python - 为文件夹中的所有 python 模块运行我的所有文档测试,而不会因为导入错误而出现故障

我已经开始将文档测试集成到我的模块中。(万岁!)这些往往是作为脚本开始的文件,现在是 CLI 应用程序中的一些函数__name__=='__main__',所以我不想把测试的运行放在那里。我试过nosetests --with-doctest了,但是遇到了很多我不想看到的失败,因为在测试发现期间,这个导入模块不包含 doctests 但确实需要导入我没有在这个系统上安装的东西,或者应该在特殊的范围内运行蟒蛇安装。有没有办法可以运行我所有的文档测试?

我已经考虑在 vim 中使用热键来运行“import doctest; doctest.testfile(currentFilename)”来在当前模块中运行我的 doctest,以及另一个运行所有测试的脚本 - 其他 doctest 用户会做什么?还是我应该使用 doctest 以外的东西?

0 投票
1 回答
92 浏览

python - python doctest:停止示例执行并在某些 shell 中使用生成的上下文

我认为我可以在测试中输入一些指令,允许我在指令点以交互方式运行一些命令,然后继续示例,但我不记得它是什么......

0 投票
1 回答
792 浏览

python - Python doctest 示例失败

这可能是一个愚蠢的问题。

我正在试验 python doctest,我尝试运行这个例子

我已将“example.txt”与包含示例代码的源文件放在同一文件夹中,但出现以下错误:

我可以以某种方式告诉/设置 doctest 模块在哪里搜索指定的文件吗?

0 投票
3 回答
3756 浏览

python - Doctests:如何抑制/忽略输出?

以下(废话)Python 模块的 doctest 失败:

这是因为标记为 XXX 的行之后的输出是<__main__.A object at ...>(由 返回append_to)。当然,我可以将这个输出直接放在标记为 XXX 的行之后,但在我的情况下,这会分散读者对实际测试内容的注意力,即函数的副作用append_to。那么如何抑制该输出或如何忽略它。我试过了:

但是,这会产生一个ValueError: line 4 of the docstring for __main__ has inconsistent leading whitespace: ' ...'.

我不想做的是将行更改为append_to(L)_ = append_to(L)抑制输出的内容,因为 doctest 用于文档目的,并向读者展示应该如何使用模块。(在记录的情况下,append_to应该使用类似语句而不是函数。写作_ = append_to(L)会使读者偏离这一点。)

0 投票
1 回答
962 浏览

c# - 为什么没有与 python 的 doctest 功能等效的 C#?

似乎这是向一些人介绍单元测试的好方法。

0 投票
2 回答
3227 浏览

python - Doctest 和相关导入

我在使用带有相对导入的 doctest 时遇到问题。简单的解决方案就是摆脱相对进口。还有其他人吗?

假设我有一个名为 example 的包,其中包含 2 个文件:

example/__init__.py

示例/A.py

如果我现在尝试

然后我得到错误