Um arquivo de teste pode ter mais de uma função describe
com varias funções it
? ou o ideal é que tenha apenas um describe
para cada arquivo de teste?
Um arquivo de teste pode ter mais de uma função describe
com varias funções it
? ou o ideal é que tenha apenas um describe
para cada arquivo de teste?
Sim, um arquivo pode ter múltiplos describes para contextualizar grupos de classes, método, funções e etc...
Por exemplo, em um arquivo chamado carrinho.test.js utilizado para testar a classe Carrinho, nós podemos ter a seguinte estrutura:
describe('Deve testar a classe Carrinho', () => {
describe('Deve testar os ítens do carrinho', () => {
it('Deve testar a adição de itens no carrinho', () => {
...
})
it('Deve testar a remoção de itens no carrinho', () => {
...
})
})
describe('Deve testar os cálculos do carrinho', () => {
it('Deve testar o cálculo de frete do carrinho', () => {
...
})
it('Deve testar o cálculo total do carrinho', () => {
...
})
})
})
Resumindo, você pode usar o describe para estruturar os testes da forma que fique mais clara, organizada e contextualizada. Note que é importante manter um describe "macro", que seria uma classe ou uma função, e os describes internos para separar os métodos, ou funções de métodos em grupos menores e mais específicos.