How can I test that a value is "greater than or equal to" in Jasmine?
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 "?
Solution 1:
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.
Solution 2:
You just need to run the comparison operation first, and then check if it's truthy.
describe('percent',function(){
it('should be a decimal',function(){
var percent = insights.percent;
expect(percent >= 0).toBeTruthy();
expect(percent).toBeLessThan(1);
});
});