问题标签 [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 回答
2122 浏览

javascript - 如何以编程方式触发 Twitter 意图事件?

Facebook JS SDK 具有相当于 jQuery 的trigger()功能,FB.Event.fire 它允许您触发为特定事件附加的处理程序。它对我在 QUnit 中的单元测试很有帮助。它基本上可以按照您的预期工作;FB.Event.fire("comment.create", location.href);触发我的comment.create事件处理程序。

Twitter 的Web Intents对象twttr似乎有一些看起来可能相似的东西twttr.events.trigger(),但它没有记录。

除了,我不知道如何在代码中正确触发它,而不会引发错误。

如何以编程方式测试附加到该对象的处理程序?

对于像这样的代码:

我希望能够通过执行以下操作来触发它:twttr.events.trigger("click")

我尝试的一切都会导致错误,而且我无法破译混淆的源代码

我在 JSFiddle 上放了一些基本代码:http: //jsfiddle.net/YL6SN/

0 投票
1 回答
284 浏览

qunit - 与 Date.js 一起使用时 Qunit 崩溃

我正在使用 Qunit 和 Date.js 来测试我编写的一些 API 函数。这是我的代码:

Qunit 在第一次测试中不断崩溃,告诉我:

并抛出 asyncTest 中的整个函数。我做错了什么,还是这是 Qunit 或 Date.js 中的错误?

0 投票
1 回答
159 浏览

javascript - 我应该测试 Javascript 插件的私有功能吗?

我正在尝试编写测试驱动的 Javascript。我知道,测试每个功能是至关重要的。但是我遇到了一个绊脚石,因为我正在编写的插件需要具有一些私有功能。我无法窥探它们的运作方式。如果我想保持我的代码经过良好测试而不过多地改变它的结构,我需要做什么?(我可以公开一些 API,但在限制范围内。)

我正在使用 sinon、QUnit 和 Pavlov。

0 投票
1 回答
624 浏览

node.js - 在 node.js 中使用 qunit 测试 http.get()

我正在尝试为 node.js 库 code.js 编写一个简单的 qunit 测试。第一个测试用例是我正在尝试的最简单的测试用例,并且没有使用我的 code.js 库中的任何导出函数,但它不起作用。

QUnit模块如下:

我认为问题之一是测试执行在执行 get 回调之前完成,但我不太确定。也许其余的问题是我是 qunit 的初学者,所以我真的很感谢任何评论。

解决方案:我将使用 asyncTest:

0 投票
3 回答
299 浏览

javascript - 使用 QUnit 测试使用除 jQuery 之外的其他框架的代码?

我正在编写一个可以使用多个框架(目前是 jQuery、Prototype、YUI2)作为后端的小型库,我正在使用 QUnit 对其进行测试。但是,QUnit 需要 jQuery。

有没有办法在不包含 jQuery 的沙盒环境中运行测试?

编辑:我更喜欢沙盒而不是只包含所有内容,因为它可以让我同时测试多个版本的库。

0 投票
2 回答
1066 浏览

coffeescript - 如何转义 CoffeeScript 保留字?

我正在尝试使用用 CoffeeScript 编写的 QUnit 运行一些单元测试,但似乎有一些保留字会导致问题,尤其是“不”。有没有办法逃避 CoffeeScript 保留字?这是一个演示问题的简单测试:

这产生的错误是“第 3 行解析错误:意外的','”

0 投票
1 回答
905 浏览

javascript - node-qunit 不适用于 nodeJS

我已经使用 npm 安装了 node-qunit,这似乎可以正常工作。

以下脚本什么都不做……没有错误,没有 qunit 输出(甚至没有失败的测试用例):

0 投票
2 回答
8614 浏览

javascript - 如何在 qUnit 中针对 DOM 对象进行测试?

我正在用 qUnit 测试一些 JavaScript。在一个对象中,我传递了一个 DOM 元素,一些方法会改变元素的一些属性。

如何在 qUnit 中模拟 DOM 对象?

我想使用独立于浏览器的解决方案,因为我还测试了 XUL 应用程序。

0 投票
2 回答
313 浏览

javascript - 没有通过 Var 的 Qunit 测试

我正在尝试对一个对表单进行一些非常简单验证的函数进行测试。但是,如果不将 vars 传递给函数,我无法弄清楚如何使用 qunit。这是我正在谈论的一个例子

我在文档中看到的所有 qunit 示例都做了这样的事情

我应该只修改我的功能还是有办法使用这样的设置。

//编辑

我现在选择追求的选项是在当前函数之上设置另一个函数,它只是解析表单输入,然后将它们作为 vars 发送到 validateForm() 函数

0 投票
2 回答
21426 浏览

jquery - jQuery Ajax:从 App 根目录引用 MVC 控制器 url

我有一个从http://localhost/myappname. 在 jQuery 中,我进行 jQuery $.ajax() 调用以基于某些用户操作返回部分视图。我通常从包含我通过 Ajax 调用的函数的同一控制器中的视图中调用它。例如,我的 Home 控制器中的视图具有以下功能(效果很好):

上面的 url 被解析http://localhost/myappname/Home/GetNavigationTreePV并正确返回了部分视图。

现在,我正在尝试使用 qUint 对我的功能进行单元测试。在这个测试用例中,我只想验证我到达函数的末尾并返回 true。我创建了一个QUNIT控制器和相应的视图(它加载了我的单元测试 JavaScript 文件)。从包含我的单元测试的 test.js 文件中,我尝试调用与我的主页视图中相同的函数,如上面的那个。但是,由于我现在用完了QUNIT控制器,所以 url 被解析为http://localhost/myappname/qunit/Home/GetNavigationTreePV.

我尝试将我的 ajax 请求的 url 更改为/Home/GetNavigationTreePV/(使用前面的正斜杠),但是当我这样做时,我得到以下 url http://localhost/myappname/Home/GetNavigationTreePV

因此,需要明确的是,我试图以始终从 MVC 应用程序的根目录开始的方式编写我的 ajax 请求,然后附加我的 $.ajax() 函数中给出的 url 参数。

有没有简单的方法可以做到这一点?我会以一种奇怪的方式解决这个问题吗?