问题标签 [qunit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
14 回答
22398 浏览

javascript - 你使用过哪些 JavaScript 单元测试和模拟框架?

我的主要 JavaScript 框架是jQuery,所以我希望我的单元测试和模拟框架与它兼容。我宁愿不必介绍另一个 JavaScript 框架。

我目前使用QUnit进行单元测试,使用Jack进行模拟,但我对 JavaScript 的整个单元测试还是很陌生。

有没有更好的工具可以推荐?什么对你有用?

0 投票
2 回答
906 浏览

jquery - 您可以使用 MS 测试套件创建“动态”测试吗?

我正在使用 QUnit 测试一些 JQuery,我让 Watin 加载测试页面并解析出测试结果,但我想知道是否有一种方法可以使用 MS Test 从页面动态生成测试套件而不是必须为每个测试编写一个测试函数?

我只是想减少必须编写的代码量

0 投票
2 回答
1999 浏览

testing - 测试复选框单击

我已经开始使用 qUnit 测试我的 UI,所以我需要模拟一些用户交互。是否可以“模拟”用户使用 javascript 单击复选框?

0 投票
5 回答
12619 浏览

javascript - Qunit 参数化测试和模拟

我有两个问题:

您可以在 qunit 中进行参数化单元测试吗?

您如何使用 qunit 进行模拟,例如模拟getJSON呼叫?

谢谢

0 投票
4 回答
10321 浏览

javascript - 带有 Ajax 的 QUnit,QUnit 通过了失败的测试

我正在研究用于 JavaScript 单元测试的 QUnit。我处于一种奇怪的情况,我正在检查 Ajax 调用返回的值。

对于以下测试,我故意尝试使其失败。

但它最终总是通过。这是进行 Ajax 调用的 getPersons 方法。

0 投票
3 回答
4604 浏览

jquery - QUnit 单元测试:测试鼠标点击

我有以下 HTML 代码:

以及以下 Javascript 代码(以 JQuery 作为库):

现在,如何测试$("#username").click,以便对于给定的输入,它

  1. 调用正确的 url(在这种情况下,它的ViewRecord/GetSoftwareChoice
  2. 并且,预期的输出(在这种情况下, function(data))表现正确?

知道如何用QUnit做到这一点吗?

编辑:我阅读了QUnit 示例,但它们似乎正在处理一个没有 AJAX 交互的简单场景。虽然有 ASP.NET MVC 示例,但我认为它们实际上是在测试服务器对 AJAX 调用的输出,即它仍在测试服务器响应,而不是 AJAX 响应。我想要的是如何测试客户端响应。

0 投票
1 回答
3436 浏览

jquery - 如何对 jQuery 键盘事件进行单元测试?

有没有办法测试 JavaScript 键盘事件处理程序(for keypress, keyup, keydownevents)?

我知道我可以像这样声明事件处理程序:

然后在单元测试中运行这个函数,但我必须准备事件参数对象与按下实际键时传递的相同:

有没有办法触发这个事件并将关键代码作为参数或类似的东西传递?不幸的是, jQuery trigger() 文档没有涵盖键盘事件。

0 投票
5 回答
6048 浏览

javascript - 测试操纵 DOM 的 Javascript

我一直在研究 javascript 测试套件,我发现QUnit非常有趣。我了解如何测试计算代码,但是...

您如何测试主要为 DOM 操作而编写的 javascript 应用程序?

似乎测试 DOM 元素的位置/颜色/等将是一个有争议的问题,因为你最终会做这样的事情:

然后在你的测试中......

这感觉不对,因为它基本上只是这样做:

我疯了吗?这应该怎么做?

编辑:问题的核心:

我想我的意思是,我需要确保在部署之前代码没有被破坏,但其中绝大多数是 UI 助手和 ajax。我如何测试事情是否正确显示?

几个例子:

  • 测试一个 JQuery UI 对话框是否出现在所有其他元素之上
  • 测试拖放是否正常工作
  • 测试当一个元素被拖放到一个可放置对象上时它的颜色会发生变化
  • 测试ajax是否正常工作
  • 测试没有多余的逗号会破坏 IE
0 投票
2 回答
704 浏览

javascript - QUnit 输出:模块的视觉分离

我的测试可能如下所示:

QUnit 的输出将如下所示

是否可以让 QUnit 输出模块名称?我很想拥有:

0 投票
3 回答
3968 浏览

asp.net - 在 ASP.NET 中使用 QUnit 测试 Javascript 的推荐结构

我有一个标准的 ASP.NET MVC(版本 2 预览版 2)解决方案,其中包含单独的项目中的实际项目和服务器端单元测试。

因为这个项目的客户端很重,所以我也想制作一个使用 QUnit 测试主项目的 ClientTest 项目。

我曾想过用一个 HTML 文件创建一个常规的 ASP.NET webforms 项目,该文件将加载我的 Scripts/ 目录中的各种脚本并用 QUnit 测试它们。不幸的是,这将产生另一个 ASP.NET 开发服务器。我可以在运行测试之前配置正在运行的 MVC 项目服务器的端口,但必须有一种更好的方法,而不仅仅是将测试 html 文件扔到主 MVC 项目中。

有谁知道解决这个问题的更好方法?