13

是否有任何 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);
}
4

2 回答 2

12

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

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

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


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

于 2012-11-24T21:23:00.433 回答
2

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

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

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

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

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

于 2010-11-14T23:26:22.123 回答