在茉莉花中全球`beforeEach`?

Fre*_*ind 52 javascript unit-testing jasmine

我正在使用Jasmine编写测试.

我有几个测试文件,每个文件都有一个beforeEach,但它们完全一样.

我如何为他们提供全球化 beforeEach服务?

Bla*_*ise 69

x1a4的回答让我很困惑.这可能更清楚:

当您所有块之外声明一个beforeEach函数时,它将在每次测试之前触发(因此在每个测试之前).如果您在块之前或之后声明它并不重要.describeitbeforeEachdescribe

它没有在文档中提到.

// 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);
        });

    });
});
Run Code Online (Sandbox Code Playgroud)


x1a*_*1a4 9

你可以把它放在你的spec_helper.js文件中,它应该工作正常.

  • 终于解决了,发现beforEach也被全局声明 (2认同)