Nonvoluntary Professional Mangling

    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

    Keywords

    none

    Install

    npm i gunit

    DownloadsWeekly Downloads

    2

    Version

    1.2.1

    License

    MIT

    Unpacked Size

    38.2 kB

    Total Files

    20

    Last publish

    Collaborators

    • makepost