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

python - 包含字符串文字的文档测试

我有一个单元测试,我想为一个将 XML 作为字符串的函数编写。这是一个 doctest,我希望 XML 与测试一致。由于 XML 是多行的,我在 doctest 中尝试了一个字符串文字,但没有成功。这是简化的测试代码:

我得到的错误是

我尝试了很多组合,但似乎无法让它发挥作用。我得到的要么是这个错误,要么是“不一致的前导空白”错误。有什么建议么?我正在使用 python 2.4(不,没有升级的可能性)。

0 投票
1 回答
629 浏览

python - Django - Unitest 还是 Doctest?

我即将开始我的第三个中型项目,并且希望(我承认这是我一生中第一次)开始使用单元测试。不过,我不知道要使用哪种方法,unitests 还是 doctests。哪种方法最有效,或者初学者应该选择实施哪种方法?谢谢

0 投票
6 回答
26849 浏览

python - 如何在 python doctest 结果字符串中包含特殊字符(制表符、换行符)?

给定以下 python 脚本:

该函数在 python 解释器中按预期工作:

但是,doctest 示例失败,因为制表符在与结果字符串比较之前转换为空格:

如何在 doctest heredoc 字符串中对制表符进行编码,以便正确执行测试结果比较?

0 投票
1 回答
737 浏览

python - 测试依赖第三方库的代码时要模拟还是不模拟

我编写了一个函数,它基本上隐藏了使用 pySnmp 库发送 SNMP 消息的复杂性,它看起来像:

我是单元测试的新手,我试图为此代码编写一个单元测试作为使用 minimock 的 doctest,这就是我想出的:

所以我运行了这个测试,结果很好,但我的问题是,我真的需要付出所有这些努力来模拟 3rd 方库的各个方面吗?在我看来,我需要模拟的最低限度是最后一行cg.nextCmd(comm_data,transport,variables),因为我实际上并不想在我的单元测试中开始向打印机发送消息,但是对库代码的其他调用应该会给我一致的结果,具体取决于什么我传给他们。我可以确保我的代码与库进行适当的交互(即,通过在传递给模拟cg.nextCmd(...)调用的对象上断言 this 来确保它正确地将主机参数传递给传输变量?

0 投票
1 回答
237 浏览

python - python doctest & 协程

我在doctest协程方面遇到了一些麻烦......

如果我使用通常的 doctest 脚手架:

doctest如果我使用更蛮力的方法,则不显示任何内容:

我可以看到预期的结果:

我在做什么错doctest

0 投票
1 回答
156 浏览

python - Unittest 和 doctest,如何使我的文件可调用?

我有一个包含 python 脚本的文件夹,其中包含我想要对其进行单元测试的文档测试。当我尝试使用这样的一个文件对其进行测试时:

我收到此错误:

但是,当我从命令行执行此操作时

有用。

如何使我的文件可调用?

0 投票
1 回答
234 浏览

python - 如何处理 python doctest 中的变量错误?

我有一个文档测试,当找不到文件时会出现 IOError。

但是,如果我想从另一台电脑上测试它,或者其他人想测试它,路径不会是 /homes/ndeklein/workspace/MS/PyMS/。我想做

但是因为它在文档字符串中,所以它看到 os.path.abspath( 作为结果的一部分。

如何制作文档字符串测试变量的结果?

0 投票
2 回答
852 浏览

python - 如何在 docutils 中使用空值

我正在尝试在一个适用于空值的函数上运行 doctest。但是 doctest 似乎不喜欢空值......

我看到了这些错误

我该怎么做才能在这样的测试用例中允许空值?

0 投票
2 回答
441 浏览

python - 将python doctest放在代码文件的末尾?

我可以将 python doctests 放在每个函数的主体中,我有时喜欢小型库,因为它们与函数在同一个文件中。

或者我可以将它们全部放在一个单独的文件中并执行单独的文件,这很好,以防我不希望函数之间的 doctest。有时我发现如果文档字符串很小,代码更容易处理。

还有一种方法可以将 python doctests 保存在同一个文件中,但将它们放在文件末尾?


编辑:一个解决方案,基于以下接受的答案:

实际上很简单,创建一个虚拟函数作为最后一个函数,该函数在一个文档字符串中包含所有文档测试。

0 投票
3 回答
427 浏览

python - 如何在中间终止 python 2 doctest 文件?

有时只运行大型 doctests 文件的第一部分会很有用。

在代码更改后第一部分中断的情况有很多,我想只运行第一部分,直到它通过,然后再次运行整个文件。

我还没有找到一个简单的方法来做到这一点。

假设我用这个文件开始我的文档测试:

而scenario.rst 看起来像这样:

在这个例子中,我使用 exit() 函数来演示我的意思,当然它不起作用,因为它被视为异常,doctest 很高兴地将其视为可以测试的东西的一部分:

那么这样一个doctest文件怎么会在中间被终止呢?

编辑:有 +SKIP 指令,但它只跳过一行。我需要一些跳过文件其余部分的东西。