Skip to content

Latest commit

 

History

History
93 lines (74 loc) · 1.89 KB

hooks.md

File metadata and controls

93 lines (74 loc) · 1.89 KB

Introdução aos Hooks

Hooks servem para não criar dependência entre os testes sem importância da ordem, gerando um ambiente limpo para os demais testes

Exemplo do uso do before, after, beforeEach e afterEach

describe('Main', () => {

    // roda uma vez, antes do bloco
    before(() => {
        console.log('before');
    });

    // roda uma vez, depois do bloco
    after(() => {
        console.log('after');
    });

    // roda todas as vezes, antes do CADA bloco
    beforeEach(() => {
        console.log('beforeEach');
    });

    // roda todas as vezes, depois do CADA bloco
    afterEach(() => {
        console.log('afterEach');
    });

    it('test 1', () => {
        console.log('test 1');
    });

    it('test 2', () => {
        console.log('test 2');
    });
});

//  Main
// before
// beforeEach
// test 1
//     √ test 1
// afterEach
// beforeEach
// test 2
//     √ test 2
// afterEach
// after
//   2 passing (16ms)
describe('Main', () => {
    var arr;

    // roda uma vez, antes do bloco
    before(() => {
        // posso iniciar uma conexão no banco
        // posso riar um conjunto de dados
    });

    // roda uma vez, depois do bloco
    after(() => {
        // posso fechar uma conexão no banco
        // posso apagar o conjunto de dados criado em before
    });

    // roda todas as vezes, antes do CADA bloco
    beforeEach(() => {
        arr = [1, 2, 3];
    });

    // roda todas as vezes, depois do CADA bloco
    afterEach(() => {
        
    });

    it('should have a size of 4 when push other value to th array', () => {
        arr.push(4);
        console.log(arr.length); // 4
    });

    it('should have a size of 2 when pop a value from the array', () => {
        arr.pop();
        console.log(arr.length);
    });

    it('should remove removed 3 when use pop in the array', () => {
        console.log(arr.pop() === 3); // true
    });
});