Press "Enter" to skip to content

Structuring JavaScript projects for testability


хорошее утро в понедельник сегодня я бы хотел
поговорить с вами немного о том, как я
структурировать мои проекты для проверки
Я mpj, и вы смотрите веселую забаву
вам может быть интересно, почему
этот претенциозный человек в платке
Я не претенциозный, я
претенциозный , но это потому , что это
Швеция Я живу в Швеции, и это очень
холод в Швеции, и я простудился
от холода в Швеции , так что я холодно я
простудился , вот почему мой голос я
получить много запросов на показ
проекты реального мира на канале, поэтому я
Я решил, что сделаю так, что мы не сможем
действительно показать проект с начала до
потому что это похоже на то, что
сотни часов времени, и я бы
быть очень скучным, что я могу сделать, хотя
показать вам части моего развития
процесс на форуме Fun Fun Automator
который является небольшим инструментом, который у меня есть
автоматизирует кучу мелочей для
Форум Fun Fun, на который вы получаете доступ
если вы являетесь покровителем веселья
если вы заинтересованы в том, чтобы
вы можете проверить, что видео разговаривает
о том, почему вы должны стать покровителем, но
на самом деле это не так.
все необходимое или даже необходимое для
понять это видео, которое просто
вы хотите поддерживать канал так, чтобы
Я покажу вам , что мы будем работать над
сегодня все в порядке, так что это Fun Fun
форум — это дискурсивная установка
который является открытым форумом программного обеспечения
это действительно здорово
и среди других возможностей у него есть
эти значки и то, что я хочу сделать, это
создавать значки для вашего имени редактора
или ваш персонаж кода vias или ваш атом
человек, ты слепой или
vim человек
и назначить и дать вам возможность
защищать эти значки себе
потому что вы похожи на удивительный автомобиль
человека, и для этого мы собираемся использовать
API дискурса, и мы имеем это
API дискурса у нас есть конечная точка
который позволяет нам присвоить значок
пользователь
это называемые пользовательские значки, то есть я и Джейсон
эта вещь называется забавной забавой
Automator на Heroku, который уже
делая это, делая кучу вещей, поэтому
например, он имеет эту конечную точку, которая
Джейсон, который довольно
напуганную вещь, которую вы можете добавить
произвольный Jason для вашего профиля пользователя и
то другие пользователи получают доступ к этому и
может создавать немые приложения поверх него.
просто, что это просто забавная вещь из
возможности форума, и я говорю
вы это, потому что этот hackable json
конечная точка — это то, что мы собираемся основать
эта вещь, как это, взгляните на
этот существующий код, поэтому, если вы посмотрите здесь
и в исходной карте кстати
этот код связан в эпизоде
так что если вы хотите следовать
вдоль вас можно просто проверить, что
разветвляться
так что мы заинтересованы здесь в
хакерская функция Джейсона, давайте
на самом деле взгляните на то, что вы видите, что
есть взломанный Джейсон с Джо
есть также hackable jason dot
песочница js и hackable jason dot
Испытайте насмешливость, мы собираемся проверить
Джейсон учил
песочница OJS первый собирается открыть
на самом деле, интегрированный терминал, и я
собирается узел dot dot SRC dot packable
json dot sandbox J’s, и это показывает нам
Что ж
куча Джейсона и крики, извините и
это в основном json, что мы видели на
там
на конечной точке , а также и вы видите здесь
тот взломанный Джейсон позволил мне на самом деле
удалите этот взломанный Джейсон просто
требует взломать Джейсон этой и
затем он вызывает это, а затем регистрирует его
это все, что он делает, и это дает нам
эта песочница — это концепция, что я
как использовать, чтобы просто поиграть с
живая функция без необходимости беспокоиться
с остальной частью приложения это просто
функция , возвращающая данные из
от реальных данных thingamabob так мало
песочница, он должен проверить взломанный Джейсон
и посмотрим, как это работает .
загляните в взломанный JSS-файл jason whoa
это было странно, что это необходимо в некоторых
запрос, и здесь требуется
то мы называем это странным с тем, что
хорошо, чтобы сделать нас более бесконфликтными, давайте
посмотреть на запрос здесь , как делает
эта работа является другой функцией, поэтому
перейдем к песочнице запросов
так что хорошо, так что запрос принимает три
а затем некоторые параметры, а затем
нюхает, давай просто запустим
песочницу и посмотреть, что это такое
делает так, что узел SRC query sandbox jazz
хорошо, так что это дает нам кучу
вещи позволяют мне объяснить вам, что
здесь происходит ад
так что запросите три, так что в дискурсе есть
эта возможность я могу создать
произвольные SQL-запросы на дискурсе
базы данных и представить их как API
конечные точки с ним, что очень
удобно, когда вам нужно извлечь большие
количество данных, так что вы видите здесь
запрос номер три, который на самом деле
что там и посмотреть, что этот запрос
это то, что ежедневные активные пользователи заканчиваются
точки для
для форума , так что вы можете видеть , сколько
пользователей форума в любой момент времени
это очень удобно для анализа данных
для модераторов или меня или вас, если вы
хотите посмотреть, сколько людей активно
на форуме и супер sniff
в основном только фантазии console.log что
Я использую для отладки такие вещи, как это
немного больше, чем я писал, вы можете проверить
это, если вы заинтересованы
иначе вы можете просто подумать об этом как о
делая то же самое, что и
это не движение, если я изменю это на один
это на самом деле собирается дать нам
Hackable JSON позволяет мне фактически просто лить
эти параметры, потому что Геккель Джейсон
не заботится о ее ответах и ​​что
дает нам эти данные так , что дает вам
идея, какой запрос да, это просто дает нам
как SQL ROS в основном, а затем
у хакера Джейсона есть своя задача калечить
это немного немного, чтобы удалить, как
лишние данные этого результата так
возможно, мы можем видеть это здесь, я не знаю
да, поэтому вы видите здесь, как будто это дает
успех верен, и он дает нам розу, и мы
действительно не заботятся обо всем, что так пусть
я закрываю песочницу запросов и
взгляд снова внутри взломанного Джейсона
и попытайтесь понять это
поэтому требуется, чтобы это было связано с взломом
JSON Factory, малыш, это все еще
немного запутаться, так что давайте просто
перейдите на эту фабрику и посмотрите, что
что происходит внутри на том
хорошо, так что у него есть постоянный взломанный
Идентификатор запроса JSON — все правильно, и что
имеет смысл , это вопрос для него
для этой вещи, как если бы мы пошли к
Проводник данных — это запрос для
hackable jason, который имеет смысл тогда
объявляет функцию, которая
глубины на этом означают зависимости
и тогда эта функция вернется
другая функция, которая является фактической
функция, которая делает D hackable jason
безумный очень подозрительный, который фактически вызывает запрос
CC здесь, как то, что вам нужно отметить здесь
заключается в том, что мы делаем зависимость
инъекции мы подающие
зависимостей в функции вместо
из вас, требующих их напрямую, и
причина, по которой мы делаем это, чтобы мы могли
перехватите его и протестируйте. Я собираюсь
покажите вам это позже, но что он делает
например, он называется глубиной для запроса, а затем
он просто берет тот результат, а затем он
извлекает пользователей из строк
Вы видите здесь из результатов здесь
что это только те свойства, которые он
выдержки пока не выполняют эту функцию
действительно не очень-то нравится, как
все хорошие функции очень маленькие и
делает очень мало, так что это фабрика, которая
создает функцию hackable json, это
a делает вакуум связью, поэтому
давайте вернемся к взломанному Джейсону.
мы микрофон, поэтому вы видите
может извлечь это, чтобы сделать это немного больше
очевидно, как фабричная упаковка, а затем мы
вызвать фабрику с зависимостями
так что, возможно, я даже сделаю это немного больше
очевидно, делая эту глубину, а затем la
запрос, а затем переход сюда адаптируется здесь так
это паттерн , который мы вместо
позволяя самой фабрике требовать
вещи на своем собственном , мы передать его в
Пасадена на заводе позвольте мне показать
вы, почему мы делаем это , чтобы мы
может написать тесты для него, поэтому позвольте мне показать
вы, как тест структурирован на самом деле
и я собираюсь закрыть вам все для
теперь это тест, так что сначала
требуется на заводе, чтобы он не
позаботьтесь об этом файле здесь он это только
проверяет завод, где находится завод
фактический код — это то, что мы
тестирование, поэтому здесь мы начинаем наш набор тестов
так что это просто и тестовый комплект
начинается с вызова, описывающего, а затем
внутри этого теста у вас может быть
несколько тестов это этот тест,
всего лишь один тест, потому что
функция очень проста до сих пор и
да, я просто называю это счастливым путем, и это
обычно то, что я называю своим первым испытанием
потому что позже обычно называются схемы именования
появляются, но для меня это все равно, как хорошо
мы тестируем счастливую часть,
первое, что мы делаем, и вы просто это
перед каждым глотанием это то, что
каждый раз перед каждым тестом, и мы
создать фальшивый объект фальшивки
объект глубины, который имеет поддельный запрос
объект Поргес знает сейчас, а потом мы
создать функцию hackable jason
вызов фабрики с глубинами или
поддельные глубины позвольте мне на самом деле показать вам
фабрика бок о бок, чтобы вы могли
причина в этой штуке немного
больше похоже на здоровый, все в порядке, так и
мне нужно закрыть это так хорошо
мы имеем, когда называется hackable jason
здесь он будет вызывать глубины, а не запрос с
взломанный
Идентификатор запроса Джейсона, но это здесь и
для того , чтобы протестировать этот тест , что это
вызывая его с правильным идентификатором, мы
здесь задано значение глубины запроса
мы создаем эту поддельную функцию, это
не поддельная функция, это реальная функция
но это подделка, это не настоящая
функция глубинного запроса и первая вещь
что мы делаем, мы используем эксперимент
этот идентификатор один позволяет мне на самом деле просто
запустите мой тестовый бегун Wallaby, который
отличный маленький испытательный бегун, который я сделал
это спонсор, но я все равно использую его
вы можете посмотреть видео
если вам интересно, если я изменю это
быть в этом тесте собирается сломаться
как он ожидает, что он будет тогда, если он
не взрывается здесь, это будет вам
продолжайте и просто верните обещание, что
решает, как этот результат, который мы видели
перед X это строки с некоторыми
и это то, что мы собираемся
получить здесь , так что , когда решается , что
это результат, который мы собираемся сделать
см. здесь, а затем он будет отображаться поверх
это и создать эти новые объекты с помощью
имя пользователя и взламывать хорошо судить междусобойчик
Ясон, так что, если бы я изменил
это хуже или полное имя и сказать
что вы видите, что все в порядке, это не сработает здесь
потому что ожидаемое значение
имя пользователя, и он получил неопределенный
потому что я присвоил ужасное имя так
это в основном , как это работает , мы имеем
эта фабричная функция, которая принимает
зависимостей, а затем возвращает
надлежащей функции, и это
зависимостей здесь мы переопределяем их здесь
с функцией, которая ожидает
вызываемый определенным образом, и если это
вызванный правильным образом, это будет
вернуть некоторые
моделируемые данные, которые мы хотим вернуть
и затем мы можем проверить, что hackable
Джейсон фактически делает то, что мы ожидали
сделайте с этими данными здесь, а затем мы
вернемся к тому, чтобы просто и просто ожидать
обещайте, что это разрешится, и что
это на самом деле все, что у нас есть время для
сегодня, потому что, как я пытаюсь сохранить
эти новые эпизоды короткие и сладкие вы
вероятно, есть миллион возражений
комментирует смутные мысли вокруг этого
кода , вы можете проверить
код для этого эпизода в
описание эпизода найти, что найти
исходный код завтра вторник Я иду
быть живым кодированием, как основа для
эпизод на следующей неделе, поэтому, если у вас есть
комментарии или мысли или материал о том, что
вы видели здесь сегодня, настроились на то, что
живой эфир, вы можете найти меня на twitch TV
slash fun fun функция, эта ссылка также
в описании эпизода мы собираемся
начать с вопросов и ответов
об этом коде и как хорошо
Вы хотите поговорить о действительно , а затем
Я буду жить кодирования, и вы можете
следовать, если вам нравится
если вы новичок, то добро пожаловать
просто смотрел эпизод веселья
функция я выпускаю каждый понедельник
утро Oh 800 GMT, если вы забыли
вы можете нажать «Подписать» здесь включите
уведомления в приложении YouTube, если вы
имейте это или вы можете просто наблюдать за другим
эпизод прямо сейчас, нажав здесь и
не забывайте настраиваться на живую
поток завтра я не буду MP болен MBJ до
следующий понедельник утром останется любопытным
Please follow and like us:

Be First to Comment

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