我正在使用 BackboneJS 和 RequireJS 构建一个网络应用程序,需要通过 AJAX 为 UI 交互和数据检索实现某种形式的单元测试。我遇到过QUnit和 Jasmine但我真的不知道如何将它集成到我的应用程序中。
如果我正在测试以下内容:
- 用户登录正常吗?
- 从服务器接收到的数据是否正常?
- 点击按钮是否会触发预期的响应?
- 点击事件是否适用于动态加载的 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/