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