Releases: yosuke-furukawa/eater
Eater v3.0.0 Released!!!!!!
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.
Release v3.0.0 RC-0
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
features
--glob
mode to find test files
v2.0.0
Remove --mode tap option, use --reporter eater-tap-reporter instead
v1.5.0
Direct test mode
$ eater test/foo/bar/buz.js hoge.spec.js
v1.4.0
- 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
read test settings from package.json
and .eaterrc
Add `--procs` and `--require` option
--procs
option is concurrent process numbers--require
option is pre-require option
v1.1.0
- 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