Press "Enter" to skip to content

Test driven development, mocking and dependency injection on real app


Привет На этой неделе я провел немного
время работы над личным проектом
мой, где я действительно приложил усилия, чтобы сделать
сначала на тесте
TDD, и я также работал против
внешний интерфейс API OBS, который я использовал для
торгуйте так кричать, когда у вас есть
внешний API , который дает вам дает вам
хорошая возможность сделать насмешку так
это то, что мы сделали, и я также показал
немного о том, как внедрение зависимости
работает на практике, так что это видео
надеюсь, дает вам некоторое представление о
как вы можете работать с TDD на внешнем
API на практике, прежде чем перейти к
видео, которое я хотел бы поблагодарить сегодня
Спонсор блестящий мне очень нравится иметь
блестящий как спонсор, потому что они
такое хорошее место для отправки людей
когда вы хотите учиться, как
основы математики, которая требуется для
машинное обучение и изучение искусственного интеллекта
потому что это так раздражает, вы пытаетесь получить
в машинное обучение, но вы получите удар
со всей этой математической записью, что вы
не знаю о том или что у вас есть
забыли, так как, как в школе, когда
ты учишься и блестяще действует
эти удивительные интерактивные задачи
с немного геймификации
чтобы дать вам как чувство прогресса
это действительно хорошо, это просто не видео
Конечно, это на самом деле интерактивный
интерактивные задачи, и я действительно
очень нравится , если машина обучения
изучение математики звучит привлекательно для вас
ты должен пойти на блестящую риторику
косая черта FFF, чтобы зарегистрироваться, что действительно помогает
на канале, потому что он говорит им
что вы пришли отсюда и это дает
Вы 20%, если вы получаете их годовой
подписка спасибо, блестящий на
шоу, что мы будем делать сегодня мы
собираюсь сделать некоторые кодирования у меня есть
немного
Satbeer позвольте мне объяснить это эту вещь
там есть потоковый компьютер, который
это тот , который выталкивая
поток, чтобы дергаться, и это берет
питание от камеры он принимает
микрофон и кормит , что до
чтобы дергаться вот мой ноутбук, который
захват экрана и подталкивание к
контроллеру потока мой поток
освоить проблему в том, что вы можете увидеть
что я должен идти сюда, чтобы переключиться
сцены и это потому, что OBS открыт
вещательные студии, которые сидят на этом
вещь да
да, он находится там, и у меня есть
OBS здесь, но это еще один OBS, так
Очевидно, есть это есть этот НПМ
модуль для OBS, потому что есть NPM
модуль для всего, так что это
OBS веб-сокет J / S, и он может выставить
локальный интерфейс очевиден для нас, да
и то , что я хочу сделать , это то , что я хочу
создать небольшое веб-приложение, которое предоставляет
сцены на OBS для запуска веб-приложения и
позволяет мне нажать на этот компьютер и
переключать сцены на этом компьютере, который
какие сцены для вас людей и
в конце концов , я также хочу , чтобы выставить это
кто-то в потоке, может быть, кто-то
нанять или кого- то, кто добровольно
знаю, что может быть нашей продукцией
менеджер и переключать камеры, как мы
в сценах, как мы говорим, что было бы
действительно очень круто, так что если кому-то нравится
гость говорит, как мы широко
может так же, как переключить камеру, чтобы показать
нам этот человек гипотетически я мог бы быть
делать все, что сам проблема внутри
когда вы находитесь в режиме разговора и
вы сосредоточены на чате и как
все это не очень сложно, так
Поэтому это было здорово , чтобы выставить что
другие люди, которых я любил играть
с этим и написал тут кучу дерьма
на самом деле, но я вроде хочу просто
сделать это с самого начала, и я думаю, что я иду
удалить это здесь и здесь, как я сказал
тебе до этого не нравиться
иметь вещи менеджер имен как запах
и я просто удалил что-то еще
творческий, как менеджер OBS, так что, возможно, я
должен и делать, как следовать своим собственным, что я
проповедовать вы знаете, и делать то, что называется
OBS очевидная вещь, пока я не знаю,
это и внутри будет вещь, которую я
собираюсь создать новую вещь, новый файл
и я собираюсь назвать это создать не просто
да и причина, почему я позвоню
это ах
Ронин спросил вес вещь лучше, чем
менеджер нет, они одинаково плохи, но
Менеджер немного мы спим, потому что это
кажется, что так лучше
лучше, потому что это позволяет мне видеть в
код, который это имя заполнителя
и, вероятно, исправить это, прежде чем я совершу это
или подтолкнуть или и хорошо менеджер это имя
это действительно как мусор, как вещь
но все равно может оказаться в репо
и потому что
звучит хорошо, но причина, по которой я хочу
создать вызов этот тест, потому что видите
как я люблю забывать, как
увеличить размер шрифта вы знаете, да
да как то так да потому что я
хочу создать как основу
Функция здесь это будет создавать
OBS вещь, и это это как блок
что мы будем тестировать и
создание подразумевает, что это фабрика
он собирается вернуть интерфейс с
функции, как получить список да
как то так и то должно
вернуть массив всех вещей с
с именами вы знаете кодировку имени
кодирование кодирования и были ой как жаль
массив там мы идем, и я просто даю
Вам нравится пример здесь, теперь моя кодировка
или как получить камеру только что-то вроде
что так давайте посмотрим здесь, я собираюсь начать
валлаби в этом файле валлаби это
тестовый бегун не я использую это действительно
хорошо, но в этом файле нет теста
еще и вот так Угу
и у нас есть это Ронни нет да делать
это сейчас не работает его я
надо также как описать
Нету никогда не использовал
хм, почему это ничего не работает
кто-нибудь имел представление, почему
нет, может быть, я собираюсь ты знаешь, что я собираюсь
удалить их сейчас я думаю, что они
испортить мой тестовый набор нет, они не
почему это не работает
привет привет художник так функция
и тест находится в том же файле, да я
обычно любят , чтобы начать этот путь
на самом деле о, подождите, здесь есть какая-то ошибка
Трей Тоби, это не хорошо, но никогда не использовал
о, так что стул для ворса, возможно, это
странно, я просто должен был сохранить это ммм очень
все в порядке в любом случае мы бежим
поэтому они собирались описать создание
Тобиас вещь, и мы собираемся проверить
что-то вроде получить сцены и здорово
ты будешь таким, каким он будет
мы должны требовать фактического
компонент, который я думаю, давайте посмотрим
внутри упакованы Джейсон мы собираемся
есть это да мммм ням ням ням ням
Сайт OBS Ajs, так что я буду называть это
о да, использование узла требует здесь
потому что последний раз, когда я пытался
он не работает слишком хорошо
и я не да еще рад
MDS ой, если вы экспортируете этот компоновщик
не буду жаловаться Спасибо, господин. кодировщик
экспорт О
[Музыка]
упс да спасибо
что мы будем делать, мы будем делать
грязь и все такое
что обнаружено не мы собираемся создать
очевидная вещь и очевидная вещь
собирается взять, как веб-сокет J / S
вещь, и давайте посмотрим на
документация для этого
[Музыка]
где мы
так что у меня есть эта вещь, а затем прямо мы
сделай это
и мы хотим хорошо мы собираемся мы
буду называть эту сеть OBS, чтобы получить их и
создать OBS вещь, это не хорошо
это потому, что это хорошо экспортируется так
теперь мы здесь и да-да-да-да-да-да-да
Да, я просто собираюсь исправить ситуацию здесь и
посмотрим, где мы находимся
поэтому у нас есть этот объект под названием получить сцену
списки и я позвоню, что посмотреть, что
у нас есть
да, это дает нам это хорошо, это
этот список данных мусора, и вы знаете,
мы, вероятно, не делаем, мы хотим иметь
создать очевидную вещь, которую вы делаете
соединение или мы хотим, чтобы получить
связанные объекты, я думаю, что мы на самом деле
хотел подключиться или мы хотим
ввести, что объект, который уже
был подключено таким образом , мы позовем
это связано веб-сайт OBS
это будет похоже на то, что вы
нужно вводить в эту вещь так сейчас
мы собираемся установить связь за пределами
это не делает это немного
меньше, и я знаю, что мой
пароль для моего OBS секретно пойдем
вернуться в доки и посмотреть, где мы находимся
отправка запросов ежедневно Лили Лили Лили сделать
получить бесшовные к этому и подключиться
даст нам правильную предпосылку, так что
мы будем делать тошнит, когда они не
иди и сделай это петь, чтобы вы заметили
здесь я пишу много вещей
только в тесте, потому что мне нравится делать
это, а затем просто случайно, то я
собираюсь затем начать складывать это в
в файлы и функции, но мне нравится
просто начни играть просто сбрасывать
материал в тесте сначала есть
много вроде как немного
мусорная площадка и тогда мы будем работать
оттуда и, честно говоря, как я не
как это так давно, так как я на самом деле
на самом деле кодирую это таким образом, я
развивая мой процесс тестирования прямо сейчас
как мы говорим, мы просто играем вокруг
немного, так что я буду, я собираюсь мой
ждать этого соединения, а потом я
собираюсь отправить этот комплект, чтобы увидеть список
и да что у нас тут ой ждать
так, что мы получили здесь о, круто
это на самом деле реальные сцены в
мой в моем местном OBS вы видите здесь переходные
кодовые экраны в нормальном виде это
сцены, которые мы получаем, так что я собираюсь
скопируйте это и посмотрите, что мы делаем здесь, я
собираюсь вставить это здесь и
Иль Коджи Бигги говорит, как кока
казалось настолько полезным, да это на самом деле
другой инструмент от той же компании
называется валлаби, так что это тестовый бегун так
Вы видите, как эти маленькие зеленые точки на
левый, который показывает покрытие, но
это как каждый раз, когда я сохраняю это просто
заставляет меня проводить тест, а также
дает мне эти маленькие классные вещи, которые
позволяет мне делать эти живые комментарии и
делать вещи этой плотности также много как
куча других вещей , это это
действительно очень крутой продукт, так что же
мы делаем здесь хорошо, так что я делаю
вот я делаю это отправить команду
Я хотел бы, чтобы OBS сделал это так
вместо того, чтобы иметь эти фиктивные данные здесь я
хотел бы положить , что внутренняя часть
сторона очевидной вещи, так что если я передам это
подключен OBS сокет и тоже очевиден
вещь, но мы уже делаем это
команда гостей должна быть запущена здесь
мы больше не обедаем, так что же
это дает мне это очень хорошо, черт возьми
происходит сейчас, я прекратил спокойствие мое
Длина ушей явно слишком сердит все
прямо так, если мы посмотрим здесь, вы увидите, что
мой
то, что является бесшовным возвращением, это не
возвращая что-нибудь сейчас, конечно, это
на самом деле круто хорошо мы можем на самом деле показать
обещания в соответствии, но так как это
Я не имею никакого веса это просто
завершает тест, прежде чем мы получим
что-нибудь, поэтому нам нужно таким образом, это
вот так теперь увидеть это на самом деле
делать то , что это то , что мы хотим
Проблема в том, что он использует его использование
живые данные, что плохо, поэтому мы хотим
высмеивать это, и я буду издеваться над этим
подключенный WebSocket вещь здесь и я
нужно DT DT так что давайте закомментируем это
это живые данные, которые мы делаем здесь
и мы хотим, чтобы подключенный WebSocket
быть как постоянный
ты будешь называть это WebSocket, что
ваши мнения по этому поводу
как я склонен называть вещи издеваться некоторые
людям нравится работать, чтобы начать зарабатывать
различие между как издевается и
двойники и подделки, но дело в том,
нет согласованного определения
эти вещи я склонен находить, что это
просто сбивает с толку, поэтому я склонен не делать этого
Я склонен просто называть вещи больше, а потом
мы хотим принять команду отправки и
буквально я не буду использовать MS собираюсь
сделать ручную функцию макета здесь не
собираюсь использовать только насмешливый
функции, потому что
это немного сбивает с толку
излишне запутанный, так что я просто
назову это имя, а потом я собираюсь
просто ожидайте, что имя команды будет и будет
мы увидим список, а потом я собираюсь
снова снова убей меня собираешься вернуть
поддельные данные я собираюсь взять эти реальные данные
что мы захватили до упс я собираюсь
вставить это в и у него есть немного
вещи здесь , что мы не заботимся обо всем
в данный момент да удалить это
честно, потому что это не имеет отношения к
тест
мы могли бы создавать вещи, которые пошли
позже, но сейчас я действительно просто
заинтересованы в этих данных здесь мы
сохранить валюту, я думаю, мы должны
на самом деле, так мы будем называть эту сцену
сцена сцена, и я называю это сцена, которую я вижу
ой сцена будет
что-то вроде того
ой, вы видите, как я беру вживую
данные, и я заменяю его некоторыми
имена , которые имеют смысл для нашего теста на
сделать наш тест немного читабельным даже
хотя я код прекрасно только что использовал
чтобы мы использовали живые данные, но мы тестируем тесты
больше всего для меня они в основном
о читаемости и документации и
сосредоточиться на том, что это
что я вижу, хорошо, у нас есть
успешно подделал нашу отправку давай сюда
там мы идем
это не используется, так что я буду вставлять снова
и теперь у нас есть тот же список, вот посмотрите
в этот
давай я сделаю это немного
меньше, чтобы мы могли видеть весь
вещь, так что если мы посмотрим здесь, я наклеиваю я
создание этой фиктивной вещи OBS WebSocket
и тогда это передается здесь
здесь и тогда мы называем отправить получить
видел список, а потом мы просто возвращаемся
все, что мы получаем, что это за код
здесь, и это просто дает нам, что это
данные, как просто я положу это я
просто удостоверимся, что наши тесты
всегда, как это маленькое утверждение не удается
Я позвоню, это получит eNOS как мы видим
затем тестовые перерывы это как
очень хорошо, это очень хорошие договоры в
Вообще и как раз попробуйте сделать ваш
проверьте, что ваши тесты действительно ломаются
когда вы меняете код и но
скажем, что мы также хотим сделать
немного трансформации на этом
потому что там было больше мусора
на самом деле давайте сделаем, давайте добавим, что
назад в источнике, я думаю, что это называется
Источники да именно это дерьмо и
там также как идентификатор сообщения здесь
эти вещи, и я хочу честно, эти
быть раздетым, потому что я бы не стал
как есть , чтобы это было как -то вроде
упрощенный интерфейс для
издевались и который будет использоваться
интерфейс фронтон , и я хотел
толкать как я не хочу толкать
все включено в настройках My My таких
как имена моих камер и
микрофоны и тому подобное
потому что я просто не хочу, чтобы это было
там, так что я собираюсь взять это
вещь здесь, и я заберу минусы
и данные колледжа и вернуть данные и
увидимся, как хорошо, где мы в
хорошо, мы должны сделать ту же функцию, которую я
думаю я думаю я думаю
это WALLABY намного лучше , чем против кода
просто расширение говорит просит компилировать
дерьмо извини что
мое произношение твоего имени да это
определенно это как валлаби
смехотворно мощный, но лучше
лучше так сложно, правда, потому что нравится
справедливое расширение кода бесплатно, но я
очень нравится сила, которую дает валлаби
меня за то, что это как сто
баксы или что-то, что такое валлаби
отвлекаться здесь, так что я просто
собираюсь взять швы тета-точки, а затем карту
что вижу это действительно просто интересует
имя здесь, делая то, что происходит
вы знаете их сцены что-то вроде
это возвращение
так что мы поворачиваемся теперь хорошо C19 быть
Хорошо , я буду хотеть некоторые утверждения здесь
теперь давайте посмотрим, я буду стоить вещи
поэтому мы хотим, чтобы ожидать сцены, точки I
не ожидаю, что сначала вторая сцена
вы будете иметь имя, что это ожидалось
для имени C, чтобы быть нами сцена быть сценами
сейчас конечно
это немного шаткое именование г- н.
привет привет
ладно ладно ладно давайте посмотрим здесь ит мы
буду называть это состояние сцены или
что-то, потому что это будет включать в себя
текущая сцена также
нет, давайте на самом деле переименовать весь этот
вещь, чтобы получить состояние сцены
там мы идем то же самое государство то же самое государство
и да, и я также хочу убедиться,
что это сообщение ID собирается, я не
хочу, чтобы это было слишком
думал, что будет или совершить, но нет
просто ссылка ожидать
ожидать , чтобы быть ложным, чтобы это было известно,
неопределенные чашки, чтобы быть на телефоне
Хорошо, теперь у нас есть этот чек, я хочу
как на самом деле убедитесь, что это это
тестовые работы, так что я собираюсь вернуться к
код здесь, и я просто вернусь
данные напрямую и позвольте мне прокомментировать
коснуться о да круто
теперь мы это не правильно, поэтому я
может вернуться и удалить заявление
и наш тест не работает, я также делаю
хочу убедиться, что текущая сцена
там, но я не хочу этого, мы
Называя я хочу, чтобы это было похоже на JavaScript
стиль видя текущую точку состояния, чтобы быть
видел быть
там мы идем
круто ожидать, что сцена будет, но она получила
не определено, поэтому он терпит неудачу, если я хочу это
и теперь мы делаем немного
ДВР здесь вместо того, чтобы, как хорошо я , как правило,
немного переключаться между тестированием
ведомый и будучи тест после как и как
Пока ваши тесты, например, когда есть
API Мне нравится начинать с API
и работать сам там, но в этом
бывает, иногда мне просто нравится чувство
о том, как на самом деле, имея провал теста
Сначала это немного зависит от того, как
много травы у меня приложения так
давайте посмотрим, я просто буду называть это
ток, а потом я собираюсь взять от
данные текущего CC и теперь мы зеленый красный
ну разве мы не получили так далеко, как я
надеюсь , потому что без времени, но
по крайней мере, мы получили где-то мы
получил где-то нет, не так просто взять
это и я просто вставлю это в
Гист написал тест на очевидное
что он проверяет эту функцию, которую мы
созданный на вещи, называемой сцене государства
это работает по состоянию сцены вызова на
вещь после того , как вы создали вещь, которая
требуется и подключенный OBS WebSocket
как его в качестве параметра экземпляра, и это
реально, что очевидный WebSocket похож
модуль NPM вещь, но мы имеем
создавать
подделка здесь, потому что мы не хотим, чтобы наши
тест, чтобы иметь много побочных эффектов
так что мы даем ему метод отправки, который
принять общее имя, которое мы ожидаем
еще не видели список, и мы попытались это
не в состоянии, что мы могли бы изменить его на
что-то еще, а затем возвращает это
эти данные здесь, что это будет
Текущие видели видел, как это в прямом эфире
данные, которые были получены при первом тестировании
из модуля npm это где
валлаби или что-то вживую оцените
все получается очень удобно в моем
мнение, потому что это позволяет вам нравится
легко копировать / вставлять данные в реальном времени, а затем
модуль, как вылепить его на тест в любом случае
данные выглядят как это у него есть он имеет
куча вещей, которые мы действительно не делаем
хочу там, как мы удаляем это сообщение
ID и мы ожидали этого здесь я добавил
некоторые источники здесь , но мы не получили
точка, где мы начнем удалять
эти данные, которые, вероятно, будут то, что я
будет делать дальше
также я вижу здесь, что отправить в этот момент
как издевка на самом деле дает нам
что дает нам метод синхронизации , который является неправильным
это это должно быть это должно быть
асинхронный это все еще работает, потому что их
вес на самом деле не волнует, но да
это не должно быть синхронным и
и да так, так что это просто здесь просто
очищает эти данные, и это просто очищает
данные немного и делает это приятно
это не манипулирование данными на самом деле и
после того, как мы получим это
мы осмотрели здесь, и я пишу это как
это да, чтобы иметь возможность проверить это легко
с валлаби, а потом я делаю кучу
ожидания от них и тогда мы звоним
это то, насколько мы, как мы получили, мы
сделал кучу немного уколов
и мы сделали немного сделали немного
немного насмешливого большое спасибо за
смотреть небольшое напоминание здесь, чтобы проверить
наш прекрасный спонсор блестящий в
Блестящий в Oryx слэш FFF, чтобы узнать так
машинное обучение математике, если вам это нравится
грязный формат живого кода вы можете проверить
из этого списка воспроизведения, где подобное
видео здесь вы также можете подписаться на
нажав здесь или даже поймать нас, когда мы
записать их лайм на ферме твич twitch.tv
функция телефона до следующей недели пребывания
любопытный
Please follow and like us:

Be First to Comment

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