gunit
TypeScript icon, indicating that this package has built-in type declarations

1.2.1 • Public • Published

gunit

Extracts require() from Acme Commander, to complement the CommonJS runtime in development and testing of GLib-heavy apps. Goal differs from Cgjs, not to replicate Node APIs, but to gather code coverage with Gjs built-in feature and, outside tests, give you the convenient module.hot.accept.

Parallel tests

Inspired by ava:

  • Runs tests concurrently

  • No implicit globals

  • Promise support

Having tests run concurrently forces you to write atomic tests, meaning tests don't depend on global state or the state of other tests, which is a great thing!

Test syntax

const { test } = require("gunit");
 
test("passes after awaiting promise", async t => {
  await Promise.resolve();
 
  t.pass();
});
 
test("compares values", t => {
  t.is(1 + 1, 2);
});

Usage

Make sure you have all dependencies, including GNOME JavaScript v1.52 or newer, and lcov:

# Ubuntu 17.10 
sudo apt update && sudo apt install bash coreutils gir1.2-gtk-3.0 gjs lcov npm

Then install with npm:

npm install --save-dev gunit

Add a script to your package.json:

{
  "name": "awesome-package",
  "scripts": {
    "test": "gunit"
  },
  "devDependencies": {
    "gunit": "^1.0.1"
  }
}

Run it:

npm test

Will find and load *.test.js in your app directory.

CLI

$ gunit --help

Usage: gunit [OPTION]... [LAST_DIRNAME_WHITELIST]...
Find **/*.test.js and run with GNOME JavaScript.

  -s, --serial   disable concurrency
  -h, --help     display this help and exit

License

MIT

Readme

Keywords

none

Package Sidebar

Install

npm i gunit

Weekly Downloads

0

Version

1.2.1

License

MIT

Unpacked Size

38.2 kB

Total Files

20

Last publish

Collaborators

  • makepost