任何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);
}
答案 0 :(得分:12)
我无法理解Ian Bicking的软件包,doctestjs。他只是为我们提供了一种不同的方式来编写正常的外部测试,而不是真正的doctests。
我使用了很多python doctests,它们对我来说非常重要,我不知道doctestjs有什么用处,但我发现这个项目实现了一些真正的doctests:https://github.com/davidchambers/doctest。
即使这不是javascript最新潮的doctest项目,我也非常喜欢它。
更新:在这个答案之后的一年多的时间里,我有机会为David Chambers的项目做出贡献,这篇文章写得非常好。我还在使用require.js的复杂应用程序中使用它,为此我们添加了对AMD模块的支持。我认为他也增加了对Common JS模块的支持。因此,我只能证实我的意见。
答案 1 :(得分:2)
昨天不知道我在抽烟。 Soory。
doctestjs(doctestjs on github)是正确的链接,似乎也在积极开发中。
尽管与使用doctestjs的python doctest有一点不同,你可以在HTML文件中声明测试,以便它们可以运行。
但我想应该可以在代码中声明内联测试。然后在构建过程中执行预处理步骤以提取测试并从中自动创建test-html
e.g。当使用ant我想象一个应用副本文件,replaceregexp,concat。 例如复制js文件,替换所有不是注释的内容和所有看起来不像doctestjs测试的注释。然后concat htmlhead + tests + headfooter完成。