Socket
Socket
Sign inDemoInstall

@wikimedia/mw-node-qunit

Package Overview
Dependencies
126
Maintainers
23
Versions
14
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @wikimedia/mw-node-qunit

Node CLI qunit runner with mediawiki additions


Version published
Weekly downloads
1.8K
decreased by-29.13%
Maintainers
23
Created
Weekly downloads
 

Readme

Source

mw-node-qunit

A QUnit test runner for node, that adds some mediawiki specific things.

npm install -g mw-node-qunit
mw-node-qunit tests/*.js
# Or for cross-shell and OS glob support
mw-node-qunit 'tests/**/*.js'

The output for the tests is in TAP format, which is pretty basic, if you want pretty output, here is a list of reporters you can install to prettify output. Example:

npm install -g tap-dot
mw-node-qunit tests/*.js | tap-dot

If you want to run tests on watch, use nodemon for example:

npm install -g nodemon
nodemon -w src -w tests --exec "mw-node-qunit tests/*.js | tap-dot"

Testing with QUnit

This test runner will add QUnit, mediaWiki globals, and a jsdom window object and jquery initialized as window, document, and jQuery in the global scope so you can run your tests assuming those will be present.

It also adds a sinon sandbox to the this scope on a test as this.sandbox that is automatically created and restored before and after every test, so you can spy/stub things in beforeEach or in the tests without worrying about having to manually restoring them after the test.

Usage

without ES6 support

mw-node-qunit --require @babel/register \"tests/node-qunit/**/*.test.js\"

Note, that this is innterchangeable with:

qunit --require @babel/register \"tests/node-qunit/**/*.test.js\"

The mw-node-qunit provides scaffolding that is useful for providing mock mediaWiki environments which can depend on existence of the jQuery, mediaWiki and DOM libraries.

with ES6+ support

Available using Babel dependencies:

    "@babel/core": "7.2.2",
    "@babel/preset-env": "7.3.1",
    "@babel/register": "7.0.0",
    "babel-loader": "8.0.5",

You can do:

mw-node-qunit --require @babel/register \"tests/node-qunit/**/*.test.js\"

Keywords

FAQs

Last updated on 09 Aug 2023

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc