GithubHelp home page GithubHelp logo

tropic's Introduction

Tropic Test Runner

Tropic offers following features:

  • Async testing with async/await, promises or done callback
  • Execute certain tests by using only and skip
  • Watchmode
  • Colorful logs
  • No global variables
  • Isolated test execution
  • Transpile/Compile code with e.g.: babel, ES2017
  • Lightweight, No additional dependencies

Contents

Example

const test = require('tropic');
const assert = require('assert');

test('title', () => {
  assert.equal(1 + 2, 3)
});

test.only('title test.only', () => {
  assert.equal(1 + 2, 3)
});

test.skip('title test.skip', () => {
  assert.equal(1 + 2, 3)
});

test('title done callback', (done) => {});
test('title promise', () => Promise.resolve());
test('title async-await', async () => await () => {});

Usage

You can install tropic using npm:

npm install --save-dev tropic

After you created your first test file (e.g. test.spec.js) you might just run tropic like the following:

tropic **/*.spec.js --watch

Usage with babel / ES2019:

npm install @babel/register --save-dev
tropic **/*.spec.js --require=@babel/register

Note: Please verify that you have a .babelrc or babel config within your package.json. Also make sure that you have all plugins/presets in installed and configured.

Options

--watch

Starts a watcher for the current directory. On file changes the tests will be automaticly executed again. In case there is already an execution running, the running execution will be canceled. The watcher ignores the node_modules directory, dotfiles and hidden directories like .idea.

--require

Following an example using @babel/register:

tropic **/*.spec.js --require=@babel/register

Multiple modules are also supported:

tropic **/*.spec.js --require=@babel/register,./custom-local-script.js

--timeout

Sets the threshold of the accepted test execution duration in milliseconds. [Default 200 ms]

tropic **/*.spec.js --timeout=20

Contribute

  • Feel free to open an issue or even a pull request
  • To run one single integration test just go for node cli test/assert
  • Check the package.json for further scripts

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.