问题标签 [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.
javascript - 为什么这个 QUnit RegExp 测试会失败?
我在搞乱 QUnit,我偶然发现了一件事。
我在 Chrome 上尝试了这个简单的测试:
我认为它会通过,因为在开发者控制台中new RegExp()
返回。/(?:)/
似乎不可能“只”new RegExp() === /(?:)/
为RegExp
s 做,但toString()
两者的功能返回相同且相等。
我认为文字/非文字符号会有所不同,但事实并非如此,因为该测试通过了:
因此,从以下测试中,第一个失败:
因此,有人可以指出我为什么第一次测试失败的正确方向吗?
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 中的错误吗?
完整的来源是:
javascript - 如何使用 QUnit(或其他 js 单元测试框架)对 pub/sub 进行单元测试
正如标题所说,我想对我的 javascript 进行单元测试,如何隔离我的 $.publish() 和 $.subscribe() 调用?我现在正在使用 QUnit,但只有几个测试,所以如果需要,我愿意更改框架。
javascript - 使用 Qunit 和 JSMockito(或其他框架?)进行 Jquery 单元测试,输出未按预期工作
我是 Javascript 单元测试的新手,在将我对单元测试的理解从 Java 转换为 Javascript 时遇到了一些麻烦。我有下面我想要做的代码,基本上我只是想模拟这个divide
函数。目前,当我这样尝试时,它只是说没有要运行的测试。我对使用不同的模拟框架的建议持开放态度,我一直在看一些教程,但似乎无法围绕 javascript 模拟。任何建议表示赞赏。
javascript - qunit - 测试异常消息?
所以 QUnit 提供了“raise”断言来测试是否抛出了异常。不过,有什么方法可以测试异常抛出的实际消息吗?例如,假设我有这个功能:
我希望能够按照这些思路写一些东西:
理想情况下,这个测试会失败,因为异常消息是“缺少参数”并且我希望它是“缺少参数”,但它通过了,因为 qunit 只检查是否引发了错误。有什么方法可以检查抛出的异常的实际内容吗?
javascript - 如何延迟 document.ready 直到设置变量?
我正在 IFRAME 中进行 QUnit 测试,并且有一个递归 JavaScript 函数,可以在启动 QUnit 之前将所有脚本从父页面加载到 IFRAME。这很好用。我的问题是我们的一些脚本使用 document.ready 来启动。
例如:
做他们的工作。我宁愿不要仅仅为了测试而更改生产代码,并且我不希望这些生产脚本认为 IFRAME 文档在每个脚本都被加载之前已经“准备就绪”。
我怎样才能延迟“document.ready”本身?
这是我的伪代码,为您提供一个示例:
实际代码类似,但涉及scripts[]
使用 JavaScript 标记“src”属性填充数组“”的 jquery 选择器。
谢谢!
javascript - jsMockito 方法调用断言未按预期工作
在使用 QUnit + JsMockito 测试 Javascript 对象时,我无法做出一些方法调用断言。基本的基础设施工作正常:Qunit、JsHamcrest(Jsmockito 依赖项)和 Jsmockito 在套件定义中正确初始化。
我想用一个对象作为参数来断言对“dataStore#create”方法的调用,如下所示:
我收到断言错误:“想要但未调用:obj.create(等于 [object Object])”
我的第一个怀疑是对象相等没有像我预期的那样工作,证据是断言在用于传递原始数据类型而不是对象的调用时有效:
我尝试使用 jsHamcrest 'equalTo' 匹配器(在 jsMockito 文档中公开)也没有成功:
有人对如何使这种断言起作用有任何想法吗?
javascript - 参考错误:CoffeeScript + JsTestDriver + Qunit
目前我正在研究使用 CoffeeScript 和 JsTestDriver 的 TDD,但是我遇到了 JsTestDriver 抛出的 ReferenceError。
一些信息:
- 使用 IntelliJ JsTestDriver 插件
- 通过 Chrome 进行测试
- 以与以下相同的方式配置 JsTestDriver:http ://code.google.com/p/js-test-driver/wiki/QUnitAdapter
- 用 CoffeeScript 编写测试
- CoffeeScript 编译为 javascript 并在测试运行前放入配置的目录中
配置
控制器
测试代码
问题
JsTestDriver 抛出错误
试过:
- 移除 jQuery、BackBone 等依赖项
- 删除 Qunit 适配器并尝试使用 jstestdriver 断言
- 在测试本身中添加了一个类,然后它就起作用了
似乎是某种出口问题或原型冲突?
javascript - 带有异步 ajax 请求的设置和拆卸的 QUnit
有人可以提供一个为 qunit 上的异步测试 ajax 请求进行设置/拆卸模型的示例吗?
例如
设置:创建数据库 t1:REST 调用以创建文档 1 t2:REST 调用以更新文档 1 t3:REST 调用以删除文档 1 t4:REST 调用以更新文档 1(错误原因 1 已被删除) t5:REST 调用以创建文档 2 拆解:清除所有文档,删除数据库
谢谢
javascript - 在 QUnit 测试中设置 $(this) 的范围
如何在 QUnit 测试环境中设置正确的范围以测试回调函数?
测试代码:
测试代码: