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

javascript - QUnit 测试中的“引入全局变量 _firebug”

我正在使用 QUnit 在我的网站上执行各种简单的测试。其中一项测试是创建一个对话框,显示它然后关闭它。测试运行良好,但在激活 Firebug 的 Firefox 上运行时出现错误:

我可以忍受它,但它很烦人:Chrome 上的相同代码运行良好。我排除了 jQuery UI 作为罪魁祸首,因为没有它也会出现同样的错误。但是,在没有 Firebug没有 console.log 跟踪的情况下运行不会显示问题。

我搜索了我正在使用的所有 javascript 代码,但没有发现任何“萤火虫”变量;谷歌对此事保持沉默。我想要我的绿屏(所有测试通过)回来!有任何想法吗?

0 投票
1 回答
433 浏览

javascript - 使用 Qunit 测试返回的函数

我目前正在学习单元测试以及如何使用 QUnit,并认为最好的方法是使用我编写的一个小型 jQuery 插件。

在插件中,我使用缓动插件中的方程式扩展了缓动对象,如下所示:

现在我尝试在 QUnit 测试中使用它:

它失败了......我是错过了什么还是我在某个地方弄错了?

0 投票
5 回答
5527 浏览

linux - 詹金斯 + qUnit

如何轻松地将 Jenkins 与 qUnit 集成?我将使用真正的浏览器(如 firefox 和 chrome)来运行测试。我的服务器在 RedHat 6.1 Linux 上运行。我想我有所有需要的插件/库,但我仍然不知道如何让它工作。我第一次与 Jenkins 合作(在服务器端)。

//编辑:

如果有人也可以分享如何构建覆盖率报告的想法,那就太好了。

提前致谢 :)。

0 投票
1 回答
275 浏览

javascript - 使用 QUnit 测试使用 document.write() 的实用程序函数:使文档对象成为其他文档?

我有一对document.write()用于改变 DOM 的实用程序函数,注入加载 JavaScript 和 CSS 的标签。

是否可以使用 QUnit 来测试注入是否正确发生而不会影响测试结果页面的实际 DOM?

我可以:

  • 覆盖document.write(),也许 insetup并重置它teardown,成为我定义的函数。但是他们我并没有测试document.write()他们应该做的事情。

  • 使用 js-test-driver 之类的东西让 JavaScript 从命令行运行(尽管我真的希望有可用的测试结果页面)。

  • 为这些实用程序测试创建一个单独的测试结果页面,以便这些结果不会以任何方式、形状或形式影响其他测试(尽管我真的想要一个统一的页面)。

  • 传递实用程序函数以加载空 JS 和 CSS 文件,这样它们实际上不会影响结果页面。

所以我有选择。

但我真正想要的是制作document一些文档,而不是实际的当前文档。我不确定这是可能的。(事实上​​,我什至不确定这是否有意义。)这可能吗?似乎我可以用 iframe 或类似的东西来做一些事情。

如果它有帮助,这里有一个我想要单元测试的函数类型的例子:

0 投票
2 回答
340 浏览

javascript - 有人对如何将 qUnit 与持续集成(例如巡航控制)一起使用有任何建议吗?

我们希望用 qUnit 做一些单元测试。我们使用 Cruise Control 进行持续集成。只是好奇是否有人以自动化方式集成了 qUnit,如果是这样,你做了什么来让它全部工作......

0 投票
2 回答
1398 浏览

javascript - QUnit:每个方法一个测试,多个断言或每个方法多个测试?

我决定为我的下一个 javascript 项目着手 TDD,并且我正在使用 QUnit 进行单元测试。我对单元测试完全陌生,从来没有用任何语言做过。这是我的一个模块的一个示例,以及对该方法的一个测试,该find方法试图涵盖此方法将遇到的所有场景:

我的问题是我会以正确的方式进行吗?我的测试中有太多断言吗?我的测试应该被分解成更小的测试吗?我一直在阅读stackoverflow上的TDD,现在我已经阅读了一些让我觉得我做错了的东西。

0 投票
1 回答
318 浏览

javascript - Backbone.View 测试输出与控制台输出不同

我不明白 Backbone.View.render() 和 .el 的操作。在 render() 中,我为 this.el 分配了支持我希望看到的输出的属性,这些属性在测试时位于 this.el 中,并且 .el 在控制台中返回预期的输出。但是输出没有出现在测试中。

这是代码和测试(请忽略粗略,我正在学习并努力保持测试绿色):

我用 QUnit 测试如下:

QUnit 说在最后一个测试中 << test_row >> 返回<label></label>。但是在 JavaScript 控制台中,<< test_row >> 返回文本中预期的字符串。

骨干文档说 render() 应该将所需的 HTML 放入 el 中,但我正在尝试使用 render() 的默认行为,它确实在控制台中工作。为什么它在测试中不起作用?

0 投票
1 回答
1465 浏览

javascript - 在 QUnit 测试中重置 KnockoutJS ViewModel

我刚刚开始使用 Knockout JS 和 QUnit 来对我的淘汰视图模型进行单元测试。我遇到的问题是,如果我在我的 qunit 测试 javascript 文件中有多个测试,并且我链接到一个包含我的视图模型定义的 javascript 文件......我在一个测试中对视图模型所做的任何更改当我在测试模块中开始下一个测试时也会出现。我曾经有一个 NUnit 环境,我的状态会在测试之间自动清除。

是否有人可以指出一种方法、模式或示例来显示定义视图模型的最佳方式,并让它在每个单元测试开始时重置其状态?

0 投票
1 回答
147 浏览

visual-studio-2010 - 使用带有 jquery 网页的 Visual Studio 测试工具

我正在尝试找到测试使用 JQuery 呈现网页的 ASP Web 应用程序的最佳方法。我一直在寻找使用 Qunit,但我并不精通 Javascript。有没有更容易走下去的路?

0 投票
1 回答
1220 浏览

jquery - 使用 ReSharper 运行 Qunit 测试时,它无法解析命名空间

这是我的 QUnit 测试:

jwd.global是在另一个名为global.js. 当我通过点击某个 URL 从浏览器运行测试时,它工作正常,但是当我使用 ReSharper 运行相同的测试时,它给了我错误jwd is not defined - { "fileName": "http://localhost:49824/Tests.js", "lineNumber": 8 }

如何确保在使用 ReSharper 运行 qunit 测试时,它可以找到jwd命名空间?