javascript - 对模块化 Javascript 网络应用程序进行单元测试

标签 javascript unit-testing testing backbone.js requirejs

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

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

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

我想测试必须直接集成到我的应用程序中,以便访问特定的 JS 对象,使用 session 特定的数据并响应推送状态 URL 的变化。

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

最佳答案

单元测试真的很简单。

您制作了一个测试 HTML 页面。你包括 QUnit/NodeUnit/Jasmine/TestLibraryOfChoice

然后您使用 requireJS 并加载您的 javascript 模块之一,

您只需测试导出的对象或函数。这意味着测试模块的有效输入并断言输出正确。

您可能需要模拟 ajax 并编写 HTML 模拟

关于javascript - 对模块化 Javascript 网络应用程序进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8211804/

相关文章:

Python 多重继承单元测试 -

asp.net-mvc - 带有存储库的静态实用程序类的依赖性问题(.NET MVC 项目)

javascript - 使用 ng-describe 与 Protractor 进行端到端测试

javascript - 如何打印 JavaScript 函数的原始字符串

javascript - 我想从ajax加载的页面执行javascript

java - 单元测试 Struts

android - Espresso - 每次测试方法后 Activity 都会关闭。有没有办法我们不能停止关闭 Activity 和运行其他测试方法

windows - 确定文件是否正在 Windows 上的 Perl 中使用

javascript - 禁用提交输入字符数限制

javascript - Angular 页面步骤不更新模型