Skip to content

A simple, extensible JavaScript test framework (work in progress)

Notifications You must be signed in to change notification settings

lenakaplan/thallium

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Thallium

Travis Build Status AppVeyor Build status Join the chat at https://gitter.im/isiahmeadows/thallium

A simple, unopinionated, modular test framework meant to simplify your tests. It supports Node 4 and later, as well as PhantomJS 2 and browsers (tested in Chrome and Firefox).

Note that this is a huge work in progress, and is probably not suited for production projects.

Installation

First, install Node and npm.

npm install --save-dev thallium

# If you would like it globally installed, that works, too.
npm install --global thallium

Also, if you target older runtimes like PhantomJS or Internet Explorer, this will require a Promise polyfill, such as es6-promise. That polyfill in particular is used by this library to test in PhantomJS 2.

Usage and API

Check out the documentation.

# Your basic command
tl

Couple specific notes:

  1. I plan to make this a very batteries-included framework. It includes several useful utilities like an assertion library far more helpful than Node's assert (you can easily define your own ad-hoc assertions, even - I do it in the tests themselves).

  2. Not much configuration is required to get started. I aim for ease of use and convention over configuration, but I also try to enable as much flexibility as you need. Your config file can even return a promise, if that's what you need.

Versioning

As soon as it's 1.0, I'll stick to semver. Until then, here's how I'll aim for new versions:

  • Minor versions (0.x) represent larger breaking changes or larger new features. This includes much of the primary roadmap.
  • Patch versions (0.1.x, 0.2.x, etc.) represent bug fixes and smaller breaking changes/new features. This includes some of the nice-to-haves I've listed below the roadmap.

I will try to avoid breaking changes on patch updates, but it's not guaranteed, particularly if it's because a bug fix.

Recent Updates

See the changelog for the most recent published changes. It also contains some useful migration information for dealing with breaking changes.

And in case you want to know what's in the works, look here.

Contributing

See CONTRIBUTING.md.

License

The following license (ISC License), unless otherwise stated:

Copyright (c) 2016 and later, Isiah Meadows me@isiahmeadows.com and others.

Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

About

A simple, extensible JavaScript test framework (work in progress)

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 98.9%
  • Other 1.1%