在茉莉花中全球`beforeEach`?

时间:2012-05-12 03:00:22

标签: javascript unit-testing jasmine

我正在使用Jasmine编写测试。

我有几个测试文件,每个文件都有beforeEach,但它们完全相同。

如何为他们提供全球 beforeEach

2 个答案:

答案 0 :(得分:67)

x1a4的回答使我感到困惑。这可能更清楚:

当您声明beforeEach函数所有describe块时,它将在每次测试之前触发(因此在每个it之前)。如果您在beforeEach阻止之前或之后声明describe,则无关紧要。

It's not mentioned in the documentation.

// Example: 

beforeEach(function() {
    localStorage.clear();
});

describe('My tests', function() {
    describe('Test localstorage', function() {

        it('Adds an item to localStorage', function() {
            localStorage.setItem('foo', 'bar');
            expect(localStorage.getItem('foo')).toBe('bar');
        });

        it('Is now empty because our beforeEach cleared localStorage', function() {
            expect(localStorage.getItem('foo')).toBe(null);
        });

    });
});

答案 1 :(得分:9)

您可以将它放在spec_helper.js文件中,它应该可以正常工作。