A simple, unopinionated, modular test framework meant to simplify your tests. It supports Node (from the current LTS), 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.
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:
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).
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.
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.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.
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.
The following license (ISC License), unless otherwise stated:
Copyright (c) 2016 and later, Isiah Meadows <firstname.lastname@example.org>.
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.