单元测试模块化的JavaScript

时间:2011-09-13 22:48:14

标签: javascript jquery unit-testing testing javascript-framework

我目前正在推出一个javascript框架模式,作为我即将开发的即将推出的大型应用程序的客户端开发架构。

我希望使用模块观察者模式,其中我开发的每个控件都有自己的javascript文件,没有其他控件的知识。

从为我的应用程序设计这个框架,我希望为我的模块集成一个测试机制 - 一个javascript的单元测试机制。我不知道有任何这样的框架或我如何设置这样的框架。有什么建议吗?

作为此类测试的一部分,我还需要模拟http请求。

我将在开发中使用的库是jquery。

4 个答案:

答案 0 :(得分:7)

JQuery团队有QUnit

至于抽象出AJAX,你应该适当地包装它或者只是测试数据操作方法。

答案 1 :(得分:1)

Jasmine可能正是您要找的。它具有内置的模拟支持,并且不依赖于任何其他框架。

他们还有一个单独的module伪造AJAX响应。

设置很简单。只需下载独立版本,编写一些测试套件,然后在浏览器中查看SpecRunner.html。

答案 2 :(得分:1)

考虑使用JsTestDriver来运行JS测试。它提供的主要好处 - 它可以在持续集成环境中运行测试,这对于单元测试实践至关重要。

其他一些功能:

  1. 它可以与QUnit和其他测试框架一起使用。
  2. 它可以跨多个浏览器并行执行测试。
  3. 它支持计算代码覆盖率。
  4. 您可以在另一个thread中找到的模拟库列表。

答案 3 :(得分:0)

BoilerplateJS 是大规模JavaScript产品开发的参考架构。您可以在tests folder.

下找到使用qunit,sinon和testr编写的测试