Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

4.0.0 Release Notes #138

geek opened this issue Aug 6, 2014 · 1 comment


Copy link

@geek geek commented Aug 6, 2014


lab v4.0 removes conflicts when running tests from either a globally or locally installed version of lab. lab is now finally tested fully with lab. Additionally, it's now much easier to create test runners for lab without having to create a new fork.

The original discussion on v4.0 changes and the motivation behind them can be found here.

Breaking Changes

  • No longer uses a global test tree. Instead, each test module exports a lab object which is collected by the runner and executed.
  • Changed -I long option from --ignore-globals to globals
  • Removed -G option
  • Failed before/beforeEach will fail all the tests they apply to
  • Any code other than tests will no longer run in protected mode (inside a domain) and will abort the entire test script by throwing an exception.

Migration Checklist

  • Change test shortcuts from
var Lab = require('lab');

// Test shortcuts

var expect = Lab.expect;
var before = Lab.before;
var after = Lab.after;
var describe = Lab.experiment;
var it = Lab.test;


var Lab = require('lab');

// Test shortcuts

var lab = exports.lab = Lab.script();
var before = lab.before;
var after = lab.after;
var describe = lab.describe;
var it =;
var expect = Lab.expect;
@geek geek added this to the 4.0.0 milestone Aug 6, 2014

This comment has been minimized.

Copy link
Member Author

@geek geek commented Aug 7, 2014

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
1 participant
You can’t perform that action at this time.