问题标签 [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 投票
1 回答
980 浏览

javascript - 为什么这个 QUnit RegExp 测试会失败?

我在搞乱 QUnit,我偶然发现了一件事。

我在 Chrome 上尝试了这个简单的测试:

我认为它会通过,因为在开发者控制台中new RegExp()返回。/(?:)/似乎不可能“只”new RegExp() === /(?:)/RegExps 做,但toString()两者的功能返回相同且相等

我认为文字/非文字符号会有所不同,但事实并非如此,因为该测试通过了:

因此,从以下测试中,第一个失败:

因此,有人可以指出我为什么第一次测试失败的正确方向吗?

0 投票
1 回答
409 浏览

jquery - Qunit 和 JQuery 1.5.2

以下代码适用于 JQuery 1.4.4。它打印的结果是:

测试在 152 毫秒内完成。1 次测试通过,0 次失败。

如果改为使用 JQuery 1.5.2,

它打印的结果是:

测试在 2426 毫秒内完成。34 次测试中的 33 次通过,1 次失败。

它是 JQuery 1.5.2 中的错误吗?

完整的来源是:

0 投票
2 回答
1100 浏览

javascript - 如何使用 QUnit(或其他 js 单元测试框架)对 pub/sub 进行单元测试

正如标题所说,我想对我的 javascript 进行单元测试,如何隔离我的 $.publish() 和 $.subscribe() 调用?我现在正在使用 QUnit,但只有几个测试,所以如果需要,我愿意更改框架。

0 投票
1 回答
1500 浏览

javascript - 使用 Qunit 和 JSMockito(或其他框架?)进行 Jquery 单元测试,输出未按预期工作

我是 Javascript 单元测试的新手,在将我对单元测试的理解从 Java 转换为 Javascript 时遇到了一些麻烦。我有下面我想要做的代码,基本上我只是想模拟这个divide函数。目前,当我这样尝试时,它只是说没有要运行的测试。我对使用不同的模拟框架的建议持开放态度,我一直在看一些教程,但似乎无法围绕 javascript 模拟。任何建议表示赞赏。

0 投票
1 回答
3274 浏览

javascript - qunit - 测试异常消息?

所以 QUnit 提供了“raise”断言来测试是否抛出了异常。不过,有什么方法可以测试异常抛出的实际消息吗?例如,假设我有这个功能:

我希望能够按照这些思路写一些东西:

理想情况下,这个测试会失败,因为异常消息是“缺少参数”并且我希望它是“缺少参数”,但它通过了,因为 qunit 只检查是否引发了错误。有什么方法可以检查抛出的异常的实际内容吗?

0 投票
5 回答
12529 浏览

javascript - 如何延迟 document.ready 直到设置变量?

我正在 IFRAME 中进行 QUnit 测试,并且有一个递归 JavaScript 函数,可以在启动 QUnit 之前将所有脚本从父页面加载到 IFRAME。这很好用。我的问题是我们的一些脚本使用 document.ready 来启动。

例如:

做他们的工作。我宁愿不要仅仅为了测试而更改生产代码,并且我不希望这些生产脚本认为 IFRAME 文档在每个脚本都被加载之前已经“准备就绪”。

我怎样才能延迟“document.ready”本身?

这是我的伪代码,为您提供一个示例:

实际代码类似,但涉及scripts[]使用 JavaScript 标记“src”属性填充数组“”的 jquery 选择器。

谢谢!

0 投票
1 回答
902 浏览

javascript - jsMockito 方法调用断言未按预期工作

在使用 QUnit + JsMockito 测试 Javascript 对象时,我无法做出一些方法调用断言。基本的基础设施工作正常:Qunit、JsHamcrest(Jsmockito 依赖项)和 Jsmockito 在套件定义中正确初始化。

我想用一个对象作为参数来断言对“dataStore#create”方法的调用,如下所示:

我收到断言错误:“想要但未调用:obj.create(等于 [object Object])”

我的第一个怀疑是对象相等没有像我预期的那样工作,证据是断言用于传递原始数据类型而不是对象的调用时有效:

我尝试使用 jsHamcrest 'equalTo' 匹配器(在 jsMockito 文档中公开)也没有成功:

有人对如何使这种断言起作用有任何想法吗?

0 投票
1 回答
1506 浏览

javascript - 参考错误:CoffeeScript + JsTestDriver + Qunit

目前我正在研究使用 CoffeeScript 和 JsTestDriver 的 TDD,但是我遇到了 JsTestDriver 抛出的 ReferenceError。

一些信息:

配置

控制器

测试代码

问题

JsTestDriver 抛出错误

试过:

  • 移除 jQuery、BackBone 等依赖项
  • 删除 Qunit 适配器并尝试使用 jstestdriver 断言
  • 在测试本身中添加了一个类,然后它就起作用了

似乎是某种出口问题或原型冲突?

0 投票
2 回答
1835 浏览

javascript - 带有异步 ajax 请求的设置和拆卸的 QUnit

有人可以提供一个为 qunit 上的异步测试 ajax 请求进行设置/拆卸模型的示例吗?

例如

设置:创建数据库 t1:REST 调用以创建文档 1 t2:REST 调用以更新文档 1 t3:REST 调用以删除文档 1 t4:REST 调用以更新文档 1(错误原因 1 已被删除) t5:REST 调用以创建文档 2 拆解:清除所有文档,删除数据库

谢谢

0 投票
2 回答
292 浏览

javascript - 在 QUnit 测试中设置 $(this) 的范围

如何在 QUnit 测试环境中设置正确的范围以测试回调函数?

测试代码:

测试代码: