单元测试模块化Javascript web-app

wil*_*age 5 javascript testing unit-testing requirejs backbone.js

我正在使用BackboneJS和RequireJS构建一个Web应用程序,需要通过AJAX实现UI交互和数据检索的某种形式的单元测试.我遇到了QUnitJasmine,但我真的不知道如何将它集成到我的应用程序中.

如果我正在测试以下内容:

  • 用户登录是否正常?
  • 从服务器收到的数据是否正常?
  • 点击按钮会触发预期的响应吗?
  • 点击事件是否适用于动态加载的html内容?
  • 应用程序是否正确响应散列/推送状态URL的更改?

我认为测试必须直接集成到我的应用程序中,以便能够访问特定的JS对象,使用特定于会话的数据并响应推送状态URL中的更改.

如何将QUnit或Jasmine(或其他建议)集成到我的模块化应用程序中以对这些功能进行单元测试?

Ric*_*lly 2

Dojo Objective Harness (DOH)是一个非常好的单元测试框架,它与浏览器无关并且支持测试异步函数,请参阅此处的演练指南。

但是,从您的测试用例来看,您似乎想要更像集成测试的东西?如果是这样,Selenium就是一个很好的浏览器自动化工具。

至关重要的是,这些工具都不需要您修改代码(除非您发现错误:))