node package manager
Easy collaboration. Discover, share, and reuse code in your team. Create a free org »


Build Status NPM version

QUnit Close assertion plugin

This plugin for QUnit adds close, notClose, close.percent, and notClose.percent assertion methods to test that a number is approximately equal (or not) to an expected number, within a given tolerance.


assert.close(actual, expected, maxDifference, message);
assert.notClose(actual, expected, minDifference, message);
assert.close.percent(actual, expected, maxPercentDifference, message);
// Alternatively: 
assert.closePercent(actual, expected, maxPercentDifference, message);
assert.notClose.percent(actual, expected, minPercentDifference, message);
// Alternatively: 
assert.notClosePercent(actual, expected, minPercentDifference, message);


  • maxDifference: the maximum inclusive difference allowed (tolerance) between the actual and expected numbers
  • minDifference: the minimum exclusive difference allowed (tolerance) between the actual and expected numbers
  • actual, expected, message: The usual


Example 1: Number differences

QUnit.test('Example number unit test', function(assert) {
  assert.close(3.141, Math.PI, 0.001);
  assert.notClose(3.1, Math.PI, 0.001);

Example 2: Percentage differences

QUnit.test('Example percentage unit test', function(assert) {
  assert.close.percent(155, 150, 3.4);     // Difference is ~3.33% 
  assert.notClose.percent(156, 150, 3.5);  // Difference is 4.0% 

For more examples, refer to the unit tests.