Наименование 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()