QUnit 2.25 is out!
Highlights from 2.24.1 and 2.25.0:
🧩 Add display of "early" errors in the HTML Reporter.
✨ New test filter callback, for parallel runners and other cool stuff. Thanks Sebastian Gbudje and @nullvoxpopuli
🐛 Fix bugs in TAP-reporter.
qunitjs.com/blog/2025/12/30/…
QUnit 2.24.0 is out!
Highlights since 2.21:
☑️ New test.if() to conditionally skip.
🏷️ Automatic labels in test.each().
📝 New stack trace formatter for CLI output
✨ There is a new QUnit Blog. You can also follow us on Mastodon or Bluesky.
github.com/qunitjs/qunit/rel…
QUnit 2.21.1 is out!
🐛 Fix bug in stacktrace cleaner.
🐛 Fix bug where a second "Hide passed" click reversed test results.
👉 Add notice about upcoming change in how assert.expect() counts steps for assert.verifySteps().
github.com/qunitjs/qunit/rel…
QUnit 2.21 is out!
☑️ New assert.closeTo() method.
For float-friendly number comparisons.
👉 Deprecate unset timeout for tests longer than 3s.
How to set a timeout? qunitjs.com/api/config/testT…
Credit to JamesMGreene for the original assert-close plugin!
github.com/qunitjs/qunit/rel…
QUnit 2.20.1 is out!
Highlights:
🐛 Fix compat with sinon.useFakeTimers in IE.
🐛 Fix hanging assert.async() after assert.timeout().
Welcome Timmy Willison as new QUnit contributor!
github.com/qunitjs/qunit/rel…
Check out QUnitX by @izelnakri:
github.com/izelnakri/qunitx
It is is the only universal JS/TS test framework that is fast, flexible, zero dependency, and can run your test files interchangably in Node.js, browser, or Deno environments!
ALT First place: qunitjs.com,
Lighthouse score is 400 (four times 100),
Page weight is 80 kilobytes.
Second place: webhint.io,
score 391, weight 177 kilobytes.
Third place: eslint.org,
score 391, weight 780 kilobytes.
One thing that keeps qunitjs.com lean is our approach to search.
Rather than the popular algolia/docsearch widget (~100KB), we use a fast 2KB alternative based on HTML5, progressive enhancement, no FOUC, and backed by self-hosted @typesense.
github.com/Krinkle/typesense…
QUnit 2.19.4 is out! github.com/qunitjs/qunit/rel…
Since 2.19.0:
⏱ Faster assert.deepEqual() .
⏱ Faster config.noglobals.
🐛 Fix memory release from last test.
📝 Improve API examples and fix typos.
Thanks Izel Nakri, Sergey Astapov, and others for their contributions.
QUnit 2.19 is out!
🧩 New --module CLI option. (Thanks Shachar!)
🔍 Improve accessibility and fuzziness of module filter UI.
⏱ Faster setup of the HTML toolbar. (Thanks @mixonic!)
ℹ️ Fix reported runtime to use whole milliseconds.
🐛 Fix various bugs.
github.com/qunitjs/qunit/rel…
QUnit 2.18 is out!
🧩 New assert.propContains for partial object comparison. (Thanks @izelnakri!)
🪝 New global QUnit.hooks beforeEach and afterEach.
🐛 Fix bugs for TypeScript and Windows.
🗜 Shrink npm install size by 7%.
⏱ Faster CLI watch mode.
github.com/qunitjs/qunit/rel…
QUnit 2.17 is out!
🏄♀️ New shortcut to "Rerun all failed tests".
🐛 Fix memory release for skipped module closures.
ℹ️ Improve built-in diagnostics for various failure scenarios.
Thanks to Ben Demboski, @buschtoens, Chris Krycho, and others. #qunitgithub.com/qunitjs/qunit/rel…
QUnit 2.16 is out!
ℹ️ Improved color contrast.
♻️ New test.each() data provider method.
⚙️ New failOnZeroTests option.
📝 Add TAP reporter to browser mode (experimental).
🐛 Bug fixes.
Thanks to Ventuno, Brenden Palmer, and others. #qunitgithub.com/qunitjs/qunit/rel…
QUnit 2.15 is out!
🐛 Fix TAP output to support cyclical objects.
🐛 Fix strict mode compat.
🕵️♂️ The filter UI now trims whitespace to improve matching.
Thanks to Zachary @ztheh, Edward @eaf4, and Nathaniel (nlfurniss) for their contributions! #qunitgithub.com/qunitjs/qunit/rel…
QUnit 2.14 is out!
🏄♀️ New floating header on the test page.
ℹ️ Accessibility improvements in the HTML reporter.
🦎 Official support for @SpiderMonkeyJS runtime.
🐛 Misc bug fixes.
Thanks to Bryan Crotaz and Steve McClure for their contributions! #qunitgithub.com/qunitjs/qunit/rel…
QUnit 2.13 is out!
📦 Introduce native support for ES Modules.
ℹ️ Improve logging for leaked assertions.
🐛 Fix suiteEnd event bug involving filters.
Thanks Steve McClure, Stephen Yeung, and brandonocasey for their contributions! #qunit#esmodulesgithub.com/qunitjs/qunit/rel…
Just released QUnit 2.12.
Notable changes:
⏩ New aliases for QUnit.test.only(), .skip(), and .todo().
➡️ Support assert.throws() with an arrow function as matcher.
Thanks to Steve McClure for contributing these!
github.com/qunitjs/qunit/rel…
QUnit 2.11.3 is out!
github.com/qunitjs/qunit/blo…
Since 2.11.0:
🐛 Minor bug fixes.
⏱ Even quicker CLI startup.
📝 Improved TAP output alignment. (Thanks @rwjblue!)