Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

utest

Package Overview
Dependencies
Maintainers
2
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

utest

The minimal unit testing library.

  • 0.0.8
  • latest
  • npm
  • Socket score

Version published
Weekly downloads
212
decreased by-10.17%
Maintainers
2
Weekly downloads
 
Created
Source

utest

Build Status

The minimal unit testing library.

Why yet another test library?

I wanted something simple, that just does unit tests (no async) and where each test is a standalone UNIX program. Now it exists.

How do I run async tests?

Currently there is only one sane way: Do not use a framework. Instead use one file per test.

If that becomes an issue, you should write more unit tests. (It is not a unit test if it does I/O).

Install

npm install utest

Usage

Running a test with utest is very simple:

var test   = require('utest');
var assert = require('assert');

test('Number#toFixed', {
  'returns a string': function() {
    assert.equal(typeof (5).toFixed(), 'string');
  },

  'takes number of decimal places': function() {
    assert.equal((5).toFixed(1), '5.0');
  },

  'does not round': function() {
    assert.equal((5.55).toFixed(1), '5.5');
  },
});

It is also possible to define a before/after method:

var test   = require('utest');
var assert = require('assert');

test('Date', {
  before: function() {
    this.date = new Date;
  },

  after: function() {
    this.date = null;
  },

  'lets you manipulate the year': function() {
    this.date.setYear(2012);
    assert.equal(this.date.getFullYear(), 2012);
  },

  'can be coerced into a number': function() {
    assert.equal(typeof +this.date, 'number');
  },
});

Last but not least, you can run individual tests by prefixing them with an exclamation mark. This is useful when putting debug statements into the subject under test:

var test   = require('utest');
var assert = require('assert');

test('MyTest', {
  '!will be executed': function() {
    // ...
  },

  'will not be exectuted': function() {
    // ...
  },
});

Future Features

I want to keep this library as minimal as possible, but I do consider the addition of the following features:

  • Nested test cases
  • TAP output (if TAP=1 in the environment, switch to TapReporter class)
  • Leak detection (automatically add a final test that fails if there are global leaks).

License

This module is licensed under the MIT license.

FAQs

Package last updated on 29 Apr 2013

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc