Наименование it

it() подразумевает понятное для пользователя описания кейса с использованием кириллицы (см. методологию BDD), который он выполняет, формируется исходя из контекста и логики выполнения модуля, например:

it или не it, вот в чем вопрос

// BAD
describe('Unit/hooks/function/useQueryIdParams', () => {
    it('Вызов по умолчанию', () => {}) // название, которое может быть понятно только "разработчику"
 
    it('Перегрузка с одним аргументом', () => {}) // название, которое может быть понятно только "разработчику"
})
 
// GOOD
describe('Unit/hooks/function/useQueryIdParams', () => {
    it('Должна вернуть объект при отсутствии переданных параметров', () => {}) // более развернуто говорим об ожиданиях и от чего они зависят
 
    it('Должна вернуть строку если передан 1 аргумент', () => {}) // более развернуто говорим об ожиданиях и от чего они зависят
})

Наименование test (не желателен в использовании)

test() - наименование формируется с более технической точки зрения и может включать в себе абстракции и конкретные реализации в названии.

Единственный кейс, когда желательно использовать test(), если он находится вне группы тестов describe().

it или не it, вот в чем вопрос

// BAD
describe('Unit/hooks/function/useQueryIdParams', () => {
    test('Вызов без аргумента', () => {}) // вместо test() нужно использовать it()
  
    test('Вызов с 1 аргументом', () => {}) // вместо test() нужно использовать it()
})
 
// GOOD
test('Unit/utility/function/functionReturnOnlyOneOption', () => {}) // находится вне блока describe, можно использовать test()

Назад