How can I test that a value is "greater than or equal to" in Jasmine?

Bryce Johnson picture Bryce Johnson · Jun 6, 2014 · Viewed 80.5k times · Source

I want to confirm that a value is a decimal (or 0), so the number should be greater than or equal to zero and less than 1.

describe('percent',function(){  

  it('should be a decimal', function() {

    var percent = insights.percent; 
    expect(percent).toBeGreaterThan(0);
    expect(percent).toBeLessThan(1);

  });

});

How do I mimic " >= 0 "?

Answer

Andrew picture Andrew · Sep 9, 2015

I figured I should update this since the API has changed in newer versions of Jasmine. The Jasmine API now has built in functions for:

  • toBeGreaterThanOrEqual
  • toBeLessThanOrEqual

You should use these functions in preference to the advice below.

Click here for more information on the Jasmine matchers API


I know that this is an old and solved question, but I noticed that a fairly neat solution was missed. Since greater than or equal to is the inverse of the less than function, Try:

expect(percent).not.toBeLessThan(0);

In this approach, the value of percent can be returned by an async function and processed as a part of the control flow.