Автоматизированное тестирование js как писать код?
Вот на скрине зелёные тесты, как самому написать такие для функции?
Работа и карьера
Программирование
Компьютеры и связь
Учёба и образование
Развлечения
Ваш вопрос
Вот на скрине зелёные тесты, как самому написать такие для функции?
Пишите тесты как проверку обещанного поведения программы. Сначала сформулируйте, что функция должна вернуть для конкретных входов, затем сравните ожидание с фактическим результатом. Для небольших функций в Node.js можно начать со встроенного test runner и строгих утверждений из node:assert/strict.
Выберите несколько содержательных случаев. У расчёта суммы это могут быть обычные числа, ноль и отрицательное значение. У проверки формы полезнее пустое поле, допустимая строка и ошибочный формат. Не добавляйте десятки одинаковых случаев, если они подтверждают одно и то же правило и не дают новой информации.
Держите рабочую функцию в отдельном модуле и импортируйте её в тест. Если переписать реализацию внутри тестового файла, тест может успешно проверять собственную копию, пока настоящий код уже изменился. Ожидаемый ответ тоже желательно задавать независимо, а не вычислять той же формулой с теми же возможными ошибками.
Асинхронный тест должен ждать проверяемую работу. Верните Promise или используйте async и await в поддерживаемой форме теста. Иначе проверка может завершиться раньше, чем появится результат или ошибка. Для отказа операции проверяйте именно ожидаемый отказ, а не любой случайный сбой.
Разделяйте уровни проверки. Чистую функцию удобно тестировать без браузера. Для кнопки, навигации или отправки формы полезен тест в браузере, который воспроизводит действия пользователя и проверяет наблюдаемый результат. Проверка одной функции не подтверждает, что страница правильно её вызывает.
После исправления ошибки сохраните небольшой тест, который воспроизводит этот случай. Затем включите нужную команду запуска в обычный процесс работы проекта. Зелёный результат означает выполнение выбранных проверок, но не доказательство отсутствия всех возможных ошибок.
Начните с функции с понятным входом и результатом. Запишите ожидаемое поведение в тестах, используя утверждения, затем запускайте их автоматически. В Node.js есть встроенные node:test и node:assert/strict. Для браузерной формы понадобится среда с браузером или подходящий инструмент проверки интерфейса. Выбирайте тест под поведение, которое хотите подтвердить, а не только под строку кода.
Для первого опыта сохраните файл sum.test.cjs:
const test = require('node:test');
const assert = require('node:assert/strict');
function sum(a, b) {
return a + b;
}
test('складывает отрицательное и положительное число', () => {
assert.equal(sum(-2, 5), 3);
});
Запустите node --test sum.test.cjs. Если фактический результат отличается от ожидаемого, тест завершится ошибкой. В реальном проекте функцию обычно импортируют из её рабочего файла, чтобы не проверять отдельную копию реализации. Добавьте случаи, отражающие договорённости функции: например, работу с нулём. Если строки должны отклоняться, сначала задайте такое требование и реализуйте проверку типов. Не ожидайте отказа от приведённой sum: оператор плюс сам по себе умеет соединять строки.
Пока нет премиум-вопросов в подборке
Не нашли то, что искали?
Задайте свой вопрос
Ответить на вопрос