Skip to content

Releases: yosuke-furukawa/eater

Eater v3.0.0 Released!!!!!!

08 Sep 08:27
Compare
Choose a tag to compare

eater v3 has the following changes.

  • Every test is the isolated process

previous eater, every test files were running in isolated process, but every subtest is not isolated process.
for example,

const test = require('eater/runner').test;

test('abc', (done, fail) => {
  global.mock = 1;
  console.log(global.mock); // 1
  done();
});

test('def', (done, fail) => {
  console.log(global.mock); // 1 because previous test mock is still alive.
  done();
});

after v3.0.0, eater can run every tests in isolated process

const test = require('eater/runner').test;

test('abc', (done, fail) => {
  global.mock = 1;
  console.log(global.mock); // 1
  done();
});

test('def', (done, fail) => {
  console.log(global.mock); // undefined
  done();
});
  • No need to use done

before v3.0, we need to use done method to finish the subtest.

const test = require('eater/runner').test;

test('abc', (done, fail) => {
  global.mock = 1;
  console.log(global.mock); // 1
  done();
});

after v3.0, we need not to call done.

const test = require('eater/runner').test;

test('abc', () => {
  global.mock = 1;
  console.log(global.mock); // 1
});

Every subtest process is an isolated.

Reporter improvement

Reporter counts success/failure test count. And show duration time.

image

Release v3.0.0 RC-0

21 Jun 00:43
Compare
Choose a tag to compare
Release v3.0.0 RC-0 Pre-release
Pre-release

eater v3.0 will be released soon.

eater has the following changes.

  • Every test is the isolated process

previous eater, every test files were running in isolated process, but every subtest is not isolated process.
for example,

const test = require('eater/runner').test;

test('abc', (done, fail) => {
  global.mock = 1;
  console.log(global.mock); // 1
  done();
});

test('def', (done, fail) => {
  console.log(global.mock); // 1 because previous test mock is still alive.
  done();
});

after v3.0.0, eater can run every tests in isolated process

const test = require('eater/runner').test;

test('abc', (done, fail) => {
  global.mock = 1;
  console.log(global.mock); // 1
  done();
});

test('def', (done, fail) => {
  console.log(global.mock); // undefined
  done();
});
  • No need to use done

before v3.0, we need to use done method to finish the subtest.

const test = require('eater/runner').test;

test('abc', (done, fail) => {
  global.mock = 1;
  console.log(global.mock); // 1
  done();
});

after v3.0, we need not to call done.

const test = require('eater/runner').test;

test('abc', () => {
  global.mock = 1;
  console.log(global.mock); // 1
});

Every subtest process is an isolated.
But currently, we need to make the mode to be stable and improve performance.
so we will pre-release this as v3.0.0-0.

v2.1.0

20 Jun 09:17
Compare
Choose a tag to compare

features

  • --glob mode to find test files

v2.0.0

09 Jun 14:59
Compare
Choose a tag to compare

Remove --mode tap option, use --reporter eater-tap-reporter instead

v1.5.0

26 Apr 15:28
Compare
Choose a tag to compare

Direct test mode

$ eater test/foo/bar/buz.js hoge.spec.js

v1.4.0

25 Apr 20:26
Compare
Choose a tag to compare
  • Add test functions
// test/some/func.js
const test = require('eater/runner').test;
const assert = require('power-assert');

test('foo', (resolve, reject) => {
  assert(alice == bob);
  resolve();
});

test('bar', (resolve, reject) => {
  assert(alice !== bob); // fail here
  resolve();
});

test('buz', (resolve, reject) => {
  assert(alice !== bob);
  if (alwaysTrue) {
    resolve('pass'):
  }
  reject('should not be reached here');
});
Testing... : foo
  ✓ success foo
  ✗ failure bar
  ✓ success buz
✓ test/some/func.js

v1.3.0

25 Apr 20:23
Compare
Choose a tag to compare

read test settings from package.json and .eaterrc

Add `--procs` and `--require` option

25 Apr 20:21
Compare
Choose a tag to compare
  • --procs option is concurrent process numbers
  • --require option is pre-require option

v1.1.0

11 Apr 17:27
Compare
Choose a tag to compare
  • Add --reporter option for custom reporter

Developers can create custom reporter like this.

'use strict';
const Reporter = require('eater').Reporter;

class DotReporter extends Reporter {
  reportFileNumber(num) {
  }
  reportTestName(name) {
  }
  setChildProc(child) {
    child.stdout.on('data', () => {process.stdout.emit('data', '')});
    child.stderr.on('data', () => {process.stderr.emit('data', '')});
  }
  reportFailure(name) {
    console.log('F');
  }
  reportSuccess(name) {
    console.log('.');
  }
}

module.exports = DotReporter;
$ eater --reporter dotreporter