В этом выпуске мы собираемся обсудить тестирование JavaScript для проверки того, соответствуют ли состояние и режим работы компонентов ожидаемому. Мы также представим метод тестирования, который позволяет легко писать тестовые примеры. Упомянутое здесь тестирование, конечно же, осуществляется с использованием методов автоматического тестирования, которые являются важной частью обеспечения качества программного обеспечения (QA). Что касается Smart Queue, представленной в этой серии статей, наши цели тестирования включают в себя:
Для первой цели просто проверьте, что свойства объекта после создания соответствуют ожиданиям. Мы много раз упоминали «соответствие ожиданиям», и Assert предназначен для этого. Проще говоря, утверждение предназначено для того, чтобы гарантировать, что проверяемое выражение дает результат «истина», в противном случае оно каким-то образом уведомляет тестировщика и помогает ему найти тестовый пример, в котором утверждение не удалось.
Вторая цель немного сложнее. Поскольку мы скрываем отсортированную очередь (_sorted) в замыкании во время кодирования и реализации компонента, она недоступна извне. Следует рассмотреть два метода: (1) Рефакторинг кода для повышения тестируемости кода. Также существует два метода рефакторинга: (а) Установить переключатель отладки и предоставить доступ к _sorted наружу, когда он включен; Добавьте файлы независимости, объединив код в манере сборки, чтобы наконец создать тестовую версию. (2) Тестируйте результаты поведения, а не процесса. Первый метод по существу глубоко изучает состояние выполнения компонента, тогда как этот метод проверяет только результаты работы компонента. В этом выпуске используется последний метод тестирования, а первый метод тестирования оставлен для практики заинтересованным читателям :)
Следует отметить, что лично я не согласен с первым способом а. Почему? Позвольте мне сначала рассказать о концепции дизайна этой очереди задач:
Источник: Alipay UED.