Search code examples
javascripttestingjasmineassertionsjasmine-matchers

Checking two boundaries with Jasmine (between matcher)


In Jasmine, there are toBeGreaterThan and toBeLessThan matchers.

What if I want to check an integer value in a specific range? Is there anything like toBeInBetween matcher?

Currently, I can solve it in two separate expect calls:

var x = 3;

expect(x).toBeGreaterThan(1);
expect(x).toBeLessThan(10);

Solution

  • You can run the boolean comparison and assert the result is true:

    expect(x > 1 && x < 10).toBeTruthy();
    

    Also, there is toBeWithinRange() custom matcher introduced by jasmine-matchers:

    expect(x).toBeWithinRange(2, 9);  // range borders are included