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 = ; ; ;
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