Jasmine语法

jinhailion 2014-11-16

// A test suite in Jasmine

describe('My Function', function() {

    var t;

    // Similar to setup

    beforeEach(function() {

        t = true;

    });

    afterEach(function() {

        t = null;

    });

    it('should perform action 1', function() {

        expect(t).toBeTruthy();

    });

    it('should perform action 2', function() {

        var expectedValue = true;

        expect(t).toEqual(expectedValue);

    });

});

Useful Jasmine Matcher

toEqual:

    takes a second value and does a deep equality check between the two objects. In the case of an object, all the fields have to match. In the case of an array, all the array elements have to match.

toBe:

    checks for reference, and expects both items passed to the expect and the matcher to be the exact same object reference.

toBeTruthy

toBeFalsy

toBeDefined

toBeUndefined

toBeNull

toBeNaN

toBeGreaterThan

toBeLessThan

toBeCloseTo

toContain:

    Checks if the array passed to the expect contains the element passed to the matcher.

toMatch:

    Used for regular expression checks when the first argument to the expect is a string that needs to match a specific regular expression pattern.

toThrow

toHaveBeenCalled

toHaveBeenCalledWith

not:

.not.toEqual

.not.toContain:

spyOn

beforeEach

afterEach

x

jasmine.any

expect(rand()).toEqual(jasmine.any(Number));
expect('Hello World").toEqual(jasmine.any(String));

相关推荐