使用Mocha和Chai测试Web应用程序

时间:2016-05-04 17:40:22

标签: javascript mocha bdd chai

我理解如何测试在浏览器上使用mocha和chai输出值的函数,但我不明白如何使用此系统来测试完整的Web应用程序。要将其简化为更简单的内容,如何在单击按钮时测试,HTML中已存在<div>

我遵循了这个tutorial,但这不适用于已经存在的应用程序。它希望我创建一个新的test.html,但如果我的应用程序依赖于预先存在的HTML,则没有任何意义。它还希望您能够创建new Foo,然后像Foo一样运行具有默认name参数的测试。但我的应用程序已经在Foo上创建了document ready

也许我错过了这一点。

1 个答案:

答案 0 :(得分:2)

在测试应用程序时,您不应该将应用程序作为一个整体进行测试,而应该是应用程序所包含的各个组件。您可以单独和单独测试这些组件。

因此,您通常会使用'test.html'(以您的示例为例),其中仅包含测试组件所需的元素。鉴于您的第一个描述'test.html'可能只包含一个按钮和一个隐藏的div。您的测试将模拟按钮单击,然后验证div不再隐藏。

这使您可以在将代码集成到更大的Web应用程序之前确保代码的行为正确,这会使代码更加复杂。

虽然您的应用程序可能已经在文档准备就绪时创建了Foo,但该特定代码不会(或者不应该)包含在Foo本身的单元测试中。

听起来你没有使用我推荐的应用程序框架。这些为Web应用程序提供了很好的研究结构,并且通常有大量关于使用它们构建的测试应用程序的文档。我会推荐AngularJS(https://angularjs.org/)或React(https://facebook.github.io/react/),但有很多选择。