tst

7.1.1 • Public • Published

tst

Test without efforts.

Gems

  • no tooling, vanilla ESM
  • works with any assert, chai etc.
  • async functions support
  • inspectable errors
  • correct stacktrace with sourcemaps
  • nice look & feel in browser/node
  • tiny bundle, 0dep

Usage

import test, {ok,is,not,throws} from 'tst.js'

test('these tests will all pass', () => {
	ok(true);
	ok(true, 'this time with an optional message');
	ok('not true, but truthy enough');

	is(1 + 1, 2);
	is(Math.max(1, 2, 3), 3);
	is({}, {})

	throws(() => {
		throw new Error('oh no!');
	}, /oh no!/);
})

test('these tests will not pass', () => {
	is(42, '42');
	is({}, {x:1});
})

test.skip('this test will not run', () => {

})

test.browser('browser-only test', () => {

})

Creates output in console:

preview

test types

  • test.skip − bypass test, mutes output
  • test.only − run only the indicated test, can be multiple
  • test.todo − bypass test, indicate WIP sign
  • test.node − run test in node/deno only env.
  • test.browser − run test in browser only test.

assertions

  • ok(a, msg?) − generic truthfulness assert
  • is(a, b, msg?) − assert with equal for primitives and deepEqual for objects
  • not(a, b, msg?) - assert with equal for primitives and deepEqual for objects
  • any(a, [a, b, c], msg?) − assert with optional results
  • almost(a, b, eps, msg?) − assert approximate value/array
  • same(listA, listB, msg?) − assert same members of a list/set/map/object
  • throws(fn, msg?) − fn must throw
  • pass(msg), fail(msf) − pass or fail the whole test.

Neighbors

🕉️

Readme

Keywords

none

Package Sidebar

Install

npm i tst

Weekly Downloads

35

Version

7.1.1

License

MIT

Unpacked Size

13.8 kB

Total Files

5

Last publish

Collaborators

  • grahamlyons
  • dfcreative
  • dy