Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/megahertz/humile
Make Jasmine Great Again!
https://github.com/megahertz/humile
bdd jasmine nodejs runner tdd test typescript unit
Last synced: 20 days ago
JSON representation
Make Jasmine Great Again!
- Host: GitHub
- URL: https://github.com/megahertz/humile
- Owner: megahertz
- License: mit
- Created: 2019-03-31T11:29:15.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-12-30T12:26:35.000Z (12 months ago)
- Last Synced: 2024-11-09T18:47:44.630Z (about 1 month ago)
- Topics: bdd, jasmine, nodejs, runner, tdd, test, typescript, unit
- Language: JavaScript
- Size: 951 KB
- Stars: 2
- Watchers: 1
- Forks: 2
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# humile
[![Build Status](https://travis-ci.org/megahertz/humile.svg?branch=master)](https://travis-ci.org/megahertz/humile)
[![NPM version](https://badge.fury.io/js/humile.svg)](https://badge.fury.io/js/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.![Screenshot](docs/img/screenshot-general.png)
## Usage
1. Create the first test spec
**my-first.spec.js**
```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.2. Run humile
`$ npx humile`
## [Configuring](docs/config.md)
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](docs/config.md).
## 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
[Read more](docs/best-practices.md).