<commit_before># Zoroaster

[![npm version](https://badge.fury.io/js/zoroaster.svg)](https://badge.fury.io/js/zoroaster)
[![Build Status](https://travis-ci.org/Sobesednik/zoroaster.svg?branch=master)](https://travis-ci.org/Sobesednik/zoroaster)
[![Build status](https://ci.appveyor.com/api/projects/status/1gc2cqf97ty69mfw/branch/master?svg=true)](https://ci.appveyor.com/project/zavr-1/zoroaster/branch/master)

A minimal JavaScript testing framework for Node.js.

[![](https://files.sobesednik.media/movflamecolumn.gif)](https://zoroaster.co.uk)
[![](https://files.sobesednik.media/movzcard.gif)](http://www.crystalinks.com/zoroaster.html)
[![](https://files.sobesednik.media/movflamecolumn.gif)](https://sobesednik.media)

Tired of using `Mocha` and `Chai` as paradigms for JS testing? Want something new and simpler?
Try Zoroaster today!
Write your test cases as simple functions, without `describe`, `it`, `before` and `after`.
Export test suites as modules and run them with `zoroaster` binary.

Why?

- Each test case should be independent of context. If you require some setup and teardown,
write pure functions in your test file, and call them from tests.
- Have more control by passing paths to your test files as properties (see example below).

## Input

To specify files to test, create a module which exports an object:

```js
// examples/test/Zoroaster_test.js
<commit_msg>update readme images<commit_after># Zoroaster

[![npm version](https://badge.fury.io/js/zoroaster.svg)](https://badge.fury.io/js/zoroaster)
[![Build Status](https://travis-ci.org/Sobesednik/zoroaster.svg?branch=master)](https://travis-ci.org/Sobesednik/zoroaster)
[![Build status](https://ci.appveyor.com/api/projects/status/1gc2cqf97ty69mfw/branch/master?svg=true)](https://ci.appveyor.com/project/zavr-1/zoroaster/branch/master)

A minimal JavaScript testing framework for Node.js.

[![](https://sobes.s3.eu-west-2.amazonaws.com/movflamecolumn.gif)](https://zoroaster.co.uk)
[![](https://sobes.s3.eu-west-2.amazonaws.com/movzcard.gif)](http://www.crystalinks.com/zoroaster.html)
[![](https://sobes.s3.eu-west-2.amazonaws.com/movflamecolumn.gif)](https://sobesednik.media)

Tired of using `Mocha` and `Chai` as paradigms for JS testing? Want something new and simpler?
Try Zoroaster today!
Write your test cases as simple functions, without `describe`, `it`, `before` and `after`.
Export test suites as modules and run them with `zoroaster` binary.

Why?

- Each test case should be independent of context. If you require some setup and teardown,
write pure functions in your test file, and call them from tests.
- Have more control by passing paths to your test files as properties (see example below).

## Input

To specify files to test, create a module which exports an object:

```js
// examples/test/Zoroaster_test.js

{'fraction_non_alphanumeric': 0.14432989690721648, 'fraction_numerical': 0.007109847138286527, 'mean_word_length': 5.10412147505423, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 22, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6996085', 'n_tokens_mistral': 981, 'n_tokens_neox': 941, 'n_words': 240}