我理解如何测试在浏览器上使用mocha和chai输出值的函数,但我不明白如何使用此系统来测试完整的Web应用程序。要将其简化为更简单的内容,如何在单击按钮时测试,HTML中已存在<div>
?
我遵循了这个tutorial,但这不适用于已经存在的应用程序。它希望我创建一个新的test.html
,但如果我的应用程序依赖于预先存在的HTML,则没有任何意义。它还希望您能够创建new Foo
,然后像Foo
一样运行具有默认name
参数的测试。但我的应用程序已经在Foo
上创建了document ready
。
也许我错过了这一点。
答案 0 :(得分:2)
在测试应用程序时,您不应该将应用程序作为一个整体进行测试,而应该是应用程序所包含的各个组件。您可以单独和单独测试这些组件。
因此,您通常会使用'test.html'(以您的示例为例),其中仅包含测试组件所需的元素。鉴于您的第一个描述'test.html'可能只包含一个按钮和一个隐藏的div。您的测试将模拟按钮单击,然后验证div不再隐藏。
这使您可以在将代码集成到更大的Web应用程序之前确保代码的行为正确,这会使代码更加复杂。
虽然您的应用程序可能已经在文档准备就绪时创建了Foo,但该特定代码不会(或者不应该)包含在Foo本身的单元测试中。
听起来你没有使用我推荐的应用程序框架。这些为Web应用程序提供了很好的研究结构,并且通常有大量关于使用它们构建的测试应用程序的文档。我会推荐AngularJS(https://angularjs.org/)或React(https://facebook.github.io/react/),但有很多选择。