【问题标题】:How to run (Python-like) doctests in JavaScript?如何在 JavaScript 中运行(类 Python)文档测试?
【发布时间】:2010-11-14 23:09:56
【问题描述】:

是否有任何 JavaScript 测试框架提供与 Python 的 doctest 大致等价的功能?

function add(a, b) {
  /**
  Returns the sum of `a` and `b`:

    > add(1, 3)
    4

  Add coerces types to numeric values where possible:

    > add('51' + 3)
    54
  */
  return (a - 0) + (b - 0);
}

【问题讨论】:

  • 你能补充更多细节吗?乍一看,这看起来与stackoverflow.com/questions/4180224/… 相同。
  • 这个问题是指文档测试,那个问题是指文档字符串。尽管它们都出现在 cmets 中,但它们有着根本的不同。
  • "如何在 JavaScript 中运行 (Python) 文档测试?"让我觉得你想在 JavaScript 中运行 Python 代码。我认为您可以从问题标题中删除“(Python)”。
  • @Denilson Sá 感谢您的评论。我更改了标题以响应@John Kugelman 的回复。我想澄清这个问题的独特性。
  • 怎么样:如何在 JavaScript 中运行“类似 Python”的文档测试?

标签: javascript testing doctest


【解决方案1】:

我无法理解 Ian Bicking 的软件包 doctestjs 的意义。他只是为我们提供了一种不同的方式来编写普通的外部测试,而不是真正的文档测试。

我使用了很多 python doctests,它们对我来说非常重要,我不知道 doctestjs 有什么用,但我发现了一些用这个项目实现的真正的 doctests:https://github.com/davidchambers/doctest

即使这不是最流行的 javascript doctest 项目,我也非常喜欢它。


更新:自从得到这个答案一年多之后,我有机会为 David Chambers 的项目做出贡献,它写得非常好。我还在使用require.js 的复杂应用程序中使用它,为此我们添加了对 AMD 模块的支持。我认为他也添加了对 Common JS 模块的支持。因此我只能确认我的观点。

【讨论】:

【解决方案2】:

不知道我昨天抽了什么。苏里。

doctestjs (doctestjs on github) 是正确的链接,它似乎也在积极开发中。

虽然它与 python doctest 的工作方式略有不同,但使用 doctestjs 您可以在 HTML 文件中声明测试以便运行它们。

但我想应该可以在代码中声明内联测试。然后在构建过程中执行预处理步骤以提取测试并从中自动创建一个 test-html

例如使用 ant 时,我想象一个应用复制文件、replaceregexp、concat。 例如复制 js 文件,替换所有不是评论的内容以及所有看起来不像 doctestjs 测试的 cmets。然后 concat htmlhead+tests+headfooter 完成。

【讨论】:

猜你喜欢
  • 2015-12-02
  • 2015-05-28
  • 1970-01-01
  • 1970-01-01
  • 2011-02-12
  • 2014-01-15
  • 2021-09-25
  • 1970-01-01
  • 2017-07-09
相关资源
最近更新 更多