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

Назад