Press "Enter" to skip to content

Unit testing in JavaScript Part 1 — Why unit testing?


хорошее утро в понедельник сегодня мы собираемся
начать изучение модульного тестирования в
JavaScript я считаю модульным тестированием как
метод разработки программного обеспечения, в котором
вы делите свое программное обеспечение на небольшие
изолированных единиц, а затем вы пишете
автоматические тесты для тех, кто проверяет
что каждая единица работает так, как ожидалось, моя основная
мотивация для проведения модульного тестирования
держите сложность от подавляющего меня
мы рассмотрим, как часть
код всегда начинается просто, но
в конечном счете растет по мере
слишком много, чтобы держать в бедрах
Я mvj, и вы смотрите веселую забаву
функция
[Музыка]
[Музыка]
поэтому сегодняшнее видео полностью сосредоточено
вокруг, почему мы проводим модульное тестирование, чтобы мы
на самом деле не собираются писать
правильные модульные тесты сегодня мы не собираемся
быть вообще сосредоточены на каком блоке
тестирования или, или как мы это делаем, мы
начну с Y, и я хочу
начать таким образом, потому что модульное тестирование
может быть сложной она может быть сложной для
узнайте, что это может быть сложной задачей , когда
вы испытываете сильное давление
сроки, которые вы просто хотите получить
программного обеспечения или в дни, когда вы просто
чувствуя себя ленивым в таких ситуациях, это
очень важно знать, почему мы делаем
модульное тестирование и откуда оно
что мы пытаемся достичь с этим
хорошо, давайте представим, что мы
запуск интернет-магазина животных, который
специально предназначается для людей, которые владеют
маленькие драконы в кассе и некоторые
в других местах мы собираемся отобразить
закажите общую сумму всех предметов, которые
мы в настоящее время имеем в нашей корзине покупок
где-то в базе кода мы собираемся
для этого эта функция называется порядком
общая функция получает задание
и он выводит общую сумму всех
элементы, которые содержатся
все в порядке, позвольте мне пройти
этот код для вас, поэтому мы имеем это
пример заказа здесь называется некоторым порядком
этот порядок имеет свойство item
с массивом драконов, которые имеют
имя и у них цена дракона
клетка немного дороже, чем
пища дракона стоит 800 вещей и здесь
мы имеем звезду общего порядка шоу
он принимает заказ, и он обращается к
здесь свойство собственности и оно уменьшает все
эти предметы до общей суммы заказа
суммируя им что-то цену
вместе, а затем мы называем заказ
общий с каким — то порядком здесь , и мы получаем
в результате получается 108, что здесь 800
плюс 808 просто скажите 100 808 huh
привет, MP Ваши эмоции здесь у меня нет
замеченный раньше, и это заставляет меня
чувствую себя немного неудобно, я бы
скорее используйте то, к чему я привык
как приветствие для петли
Выгода здесь, я полностью нормален
бояться новых вещей, но помнить
что новые вещи становятся менее страшными
больше вы их используете и уменьшаете супер
полезно, и я действительно призываю вас изучить его
это действительно изменит то, как вы думаете
о том, что у меня есть на самом деле
сделал эпизод о том, что вы можете
найти, щелкнув там, я извиняюсь за
Здесь я просто хотел бы
это здесь, как я могу догадаться, я бы хотел
чередовать, да, это немного
лучше теперь выглядит как таблица справа
это хорошо нормально, что выглядит красиво в
что конкретный случай , но это нарушило бы в
linter в любом реальном проекте, который
просто подражание, которое полезно в
этот конкретный случай , вот сколько
точнее, но это видео об устройстве
тестирование может сосредоточиться на том, что все в порядке
этот этот пример мне кажется очень молодым
пример этой общей функции здесь
это уже чисто разделенный
вы
он функционирует в реальных кодовых вещах
как правило, намного больше , перемежающийся я
чувствую , что это просто очень
теоретический пример да, это
мне не нравится настоящий код
конечно, это абсолютно не очень
упрощенный пример , но это опять — таки является
о, это просто введение в единицу
мы можем посмотреть, что
код выглядит прямо сейчас и что мы
мог бы узнать здесь все, что мы можем сделать
что я считаю, что этот код или общий
ему не нужны тесты , которые не чувствуются
он нуждается в тестах, это очень просто даже с
сокращение, которое мне неудобно с
потому что он новый , он не чувствует
так как этого достаточно, чтобы оправдать
с автоматизированным набором тестов, который
Кажется, стрельба стреляет в муху
базуки хорошо , что он выглядит так
теперь, но даже самые
начинается ужасающая сложная функция
Проще говоря, это похоже на то, что
выражение, кипящее лягушку
что вы варите омара, это
омара вы положили его в холодную воду и
то вы просто увеличиваете температуру
пока вы не знаете, что это хороший момент, давайте
давайте попробуем добавить некоторую сложность к
к этому коду давайте придумаем некоторые, давайте добавим
количество
[Музыка]
хорошо, поэтому я добавил немного
сложность, о чем мы можем говорить
это я чувствую себя хорошо, я все еще не
боится этого кода, он все еще кажется очень
управляемый
может быть , единичные тесты отходов на на
простые функции, подобные этому, возможно, это
может быть, это хороший момент
может быть, это может быть полезно
для нас, чтобы выбрать наши битвы и не делать
модульное тестирование на каждой отдельной функции
и просто сэкономить время, а не делать единицу
тестирование на простые функции, такие как заказ
всего здесь люди люди люди у вас есть
подумать о старой шведской пословице
вы должны думать дольше, чем ваш нос
это не хороший перевод
эта пословица моя точка зрения заключается в том, что сложность
со временем будет расти, что мы видим
здесь это всего лишь один из ста шагов
давайте попробуем эту гипотезу и просто
добавить еще большую сложность
добавим доставку, и если заказ
всего около Боба выше тысячи
баксы
тогда наша доставка бесплатна
[Музыка]
все в порядке, так что мы здесь сделали?
извлек итог, как мы начали
сначала фильтровать элементы, прежде чем делать
суммирование, поэтому мы отправляем суммы только по пунктам
у которых есть те, которые не отгружают товар
и затем мы находим предметы доставки в
массив , а затем вычислим
доставка, если значение 0, если общее количество предметов
превышает тысячу или судоходство должно быть
цена предмета доставки в противном случае
затем мы добавили два вместе, а затем мы
в конечном итоге получить результат здесь
это то, о чем я говорю
сейчас все усложняется
теперь, когда мы добавили условное
заявление здесь мы наш код имеет несколько
пути выполнения до того, когда мы только что
цена, и у нас просто было количество
у нашего кода был только один путь выполнения, но
теперь у нас есть два, где порядок
заказ большой, и мы отказываемся от доставки и
где порядок мал, и мы
нормально, я думаю, что я
начинаю понимать, что это
код определенно получил немного страшнее
теперь, когда мы добавили судоходство, да, и я
думаю, я знаю, почему это происходит, потому что ранее
прежде чем мы будем чиппинг, мы могли бы
выражать всю логику или как то, что
Всего всего лишь с этим
в одном примере заказа у нас был один
Пример , который выражает полноту
что могла бы выполнять функция, но теперь
Например, вызов типа summary может только сообщать
половина истории, которая в этом случае
что это большой порядок, если я
изменилось это количество 1, которое мы сейчас
в единственном случае малого заказа, так что это
на этот раз он добавляет при отправке, но
пример может только выражать
одна из вилок в одежде так сказать
да II означает, что я все еще чувствую себя довольно
уверен в этом коде, это я слышу
и это потому, что II вид выполнен
это в моей голове, пока мы писали
это так я, и это только одна
вилка еще одна ветвь в логике, так что
чувствует себя способным держаться в моих
но точно и скажем, что мы
начал добавлять дополнительные шаги в
с течением времени, как говорят, что мы
добавленные налоги или нематериальные товары, которые
не требуйте никаких сборов за доставку, тогда вы
возможно, видят, как это будет
в конечном итоге перейти к точке, где это
слишком много для вашего мозга, чтобы справиться
все в порядке, что имеет смысл, но если наш
Цель состоит в том, чтобы думать о меньшем количестве вещей при
в то же время мы не могли бы начать
разбивая эту штуку на меньшие
функции, такие как взлом
функции в более мелкие изолированные
функции, которые отвечают за
для очень изолированных вещей, которые
это, как правило, очень полезный инструмент, но
Я не думаю, что это имеет смысл в этом
случай все общее кажется довольно симпатичным
хороший хороший блок мне кажется как
изолированная проблема , чтобы сломать
вещи в небольшие функции вы
на самом деле должны также иметь возможность сломать
концептуальную проблему, например, если вы
просто начните извлекать вещи из
много крошечных функций вы на самом деле не
нарушая проблему, чтобы вы могли
подумай об этом отдельно, ты
действительно просто распространяя проблему
в нескольких местах, чтобы вы
еще больше расходясь
что вы действительно должны принять это
даже когда я программный модуль мал и
изолированный и минимальный, вероятно,
все еще слишком большой для вас, чтобы сохранить все это в
ваш ноггин хорошо да, но снова он чувствует
как это не означает, что это означает, что
Я не такой, как рок- звезда.
супер умный программист сможет
держите это в голове
понять, куда это чувство идет
от этого такого мышления да
не масштабируется, если у нас есть программное обеспечение
где средний разработчик
не может создавать программное обеспечение разумных
качества, то мы обречены на мир
имеют дерьмовое программное обеспечение, а также и
даже если вы являетесь софтверной компанией, которая
может себе это позволить и способен нанимать
самый лучший из лучших даже их
мозги будут поражены
Сложность в какой — то момент это , как с
жонглирование Я могу манипулировать тремя зрителями
хорошо, и, может быть, вам лучше прыгать
возможно, вы можете жонглировать пятью и миром
запись — 11 мячей, но никто даже
близко к обработке 15 шариков в порядке, так
что мы узнали здесь, давайте давайте
суммировать код всегда очень просто
с самого начала, но он не остается
просто он растет, растет и растет
многократные случаи использования слишком много, чтобы
наши головы все в порядке, я хочу посмотреть, что
модульные тесты выглядят, и теперь, если они могут
помогите с этим, что является следующим
эпизод о том, что вы только что смотрели
эпизод веселой функции, которую я выпускаю
эти каждое утро в понедельник Oh 800 GMT if
вы смотрите от будущего
найти следующий эпизод в понедельник здесь
иначе вы можете подписаться здесь, чтобы
вы не пропустите его, если вы забыли
вы также можете включить уведомления в
приложение YouTube Я буду mpj до следующего
В понедельник утром остаются любопытными
Please follow and like us:

Be First to Comment

Добавить комментарий