如何在JavaScript中运行(类似Python)doctests?

Tim*_*ara 11 javascript testing doctest

任何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);
}
Run Code Online (Sandbox Code Playgroud)

dan*_*nza 12

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

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

即使这不是javascript最新潮的doctest项目,我也非常喜欢它.


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


jit*_*ter 2

不知道昨天抽的是什么烟。苏里。

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

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

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

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