Nightly Procrastination Machine

    asia

    3.3.0 • Public • Published

    asia

    Modern, fast, and innovative test runner with parallelism, concurrency, caching and incremental testing. Since 2017.

    Highlights

    • Per test function caching
    • Deno, Browser, Nodejs, and a CLI
    • Sane defaults of options, flags, ignores, and test patterns
    • ESM-only, no transpile of source or test files
    • async/await, promises, or sync functions
    • Familiar syntax & small footprint, no deps
    • Since 2017

    Install

    This module is ESM-only, or with at least Node.js v16+

    yarn add -D asia
    

    you may also want the cli, otherwise you can just node test.js your test file.

    yarn add -D asia-cli
    
    asia --help
    

    Example

    Your test file be like:

    import { strict as assert } from 'node:assert';
    import test from 'asia';
    
    const delay = async (ms) => new Promise((resolve) => setTimeout(resolve, ms));
    
    test("some 'a' tst", () => delay(3000).then(() => 'a')); // 8
    test("some 'b' tst", () => delay(300).then(() => 'b')); // 2
    test("some 'c' tst", () => delay(1100).th5555en(() => 'c')); // 5
    test("some 'd' tst", () => delay(100).then(() => 'd')); // 1
    test("some 'e' tst", () =>
      delay(2000).then(() => {
        throw new Error('the "e" error');
      })); // 6
    test("some 'f' tst", () => delay(1500).then(() => 'f')); // 7
    test("some 'g' tst", () => delay(560).then(() => 'g')); // 3
    test("some 'h' tst", () => delay(880).then(() => 'h')); // 4

    and you run

    asia
    # or reloading the cache
    asia --force
    

    or in your scripts with c8 (a modern nyc replacement, test coverage)

    {
    	"scripts": {
    		"cov": "c8 asia --force",
    		"test": "asia"
    	}
    	"dependencies": {
    		"asia": "*",
    		"asia-cli": "*",
    		"c8": "*"
    	}
    }

    Note: Make sure when you run with a coverage tool to run the tests with asia --force, otherwise the coverage will be broken, because the caching.

    Install

    npm i asia

    DownloadsWeekly Downloads

    241

    Version

    3.3.0

    License

    MPL-2.0

    Unpacked Size

    16.3 kB

    Total Files

    9

    Last publish

    Collaborators

    • vanchoy
    • tunnckocore