humile
Make Jasmine Great Again!
Description
Humile is Node.js test framework on top of Jasmine. It's as fast and lightweight as Jasmine, but has many additional features:
- Nice exception reports
- Clean stack trace
- Zero config
- No globals (optional)
- TypeScript ready
- Highly customizable
- toMatchObject, toMatchSnapshot
Why don't just use jest?
Jest is awesome, but it's pretty slow for fast tests. When you write a lot of tiny test, jasmine is able to execute more than 1000 tests per second. Also, jest could be too large with its heavy dependencies for a tiny project.
Usage
Create the first test spec
my-first.spec.js
describe('my first spec', () => { it('should test a simple value', () => { expect(true).toBe(true); }); });
You can place this file in any subdirectory of your project. Humile searches for .spec.js and .test.js files (or ts equivalent) in the current dir.
Run humile
$ npx humile
Configuring
In most cases you can use humile with default configuration. However, it can be easily customized.
Here are the most useful options:
Test only specified specs
humile 'mymodule/*.spec.js'
Filter by spec description:
humile -f MySpecName
Disable global jasmine functions (describe, expect, it etc):
humile -G
Ignore some files:
humile -i 'build/**'
Use another reporter:
humile -R list
Learn more about configuring humile.
Best practices
- Place specs in specs directory near the actual code
- Place helpers into the top specs directory
- Try to disable global functions
- Use common JavaScript best practices