Gruntjs 图书馆的利益是什么

Gruntjs 图书馆的利益是什么,gruntjs,mocha.js,assert,Gruntjs,Mocha.js,Assert,我使用Grunt来运行没有断言模块的单元测试,我只需要用Grunt记录我需要的内容,并使用我的“自定义”代码来检查变量的状态和值 我曾经考虑过在grunt中使用摩卡咖啡,但我正在尝试找出当我运行测试时它将如何真正改变某些东西。 使用摩卡咖啡,我的测试将如何更有价值(例如) 关于这些工具的成功,我觉得它们的实用性中缺少了一些东西。 如果有人能向我解释它们是如何以及何时有用的,那就太好了 对于初学者来说,不是一个断言库,默认情况下不提供任何断言库。 Mocha是一个测试框架,它允许您使用几种可用测试

我使用Grunt来运行没有断言模块的单元测试,我只需要用Grunt记录我需要的内容,并使用我的“自定义”代码来检查变量的状态和值

我曾经考虑过在grunt中使用摩卡咖啡,但我正在尝试找出当我运行测试时它将如何真正改变某些东西。 使用摩卡咖啡,我的测试将如何更有价值(例如)

关于这些工具的成功,我觉得它们的实用性中缺少了一些东西。 如果有人能向我解释它们是如何以及何时有用的,那就太好了

对于初学者来说,不是一个断言库,默认情况下不提供任何断言库。 Mocha是一个测试框架,它允许您使用几种可用测试之一来描述和组织测试。它还提供测试运行后(有时在运行时)的状态报告

您似乎已经在使用一种方法来描述和运行您的测试,因此,除非您提供更多关于您的框架/运行程序/报告程序功能的详细信息,否则我无法向您指出mocha(或其他框架/运行程序)相对于它的优缺点。我希望看到您的一些测试和(与测试相关的)grunt任务代码,以便更好地评估这一点

另一方面,断言只是检查在测试中必须满足的条件,以便考虑它们“通过”。JavaScript断言库的一个示例是。您提到使用

“自定义”条件(我不知道您的意思),因此您似乎在使用某种断言。关键是,如果断言恰好为false,则对其求值的测试必须失败。如果您在测试中实现了这一点,那么恭喜您,您已经在使用断言了。如果不是,则测试不是自动的(例如,如果手动将日志与其预期值进行比较,则运行的是手动测试)


我上面的评论在理论上都是正确的,您可能不需要单独的测试框架、运行程序和断言库。然而,使用一个成熟的工具(它也是开源的,因此由开发人员社区维护)可能比编写自己的测试描述框架、测试运行器、测试报告器和断言库更可靠


它还将为您指明经过时间考验的约定和最佳实践的正确方向,因为它们的特性往往会帮助您遵守它们(或者为了您自己的利益而强制它们)。例如,mocha提供了一种简单而整洁的方法来描述测试(和测试套件)的设置和拆卸过程,如果您不自己实现,这将使您的测试有很多不完全相关的代码,使它们更难理解,从而更难维护。

@Ludo我看您没有其他答案。这对你有帮助吗?