Последние новости: Свежий coursehunters.club

Тестирование JavaScript - Видеоуроки

Testing JavaScript with Kent C. Dodds
Duration 10:24:30
Открыть все курсы от Kent C. Dodds

Изучите умный и эффективный способ тестирования любого JavaScript приложения. Зачем тестировать ваш JavaScript? Каждый раз, когда обнаруживается ошибка, пользовательский опыт вашего приложения трещит по швам. Баги это плохо. А кого будут винить ? Тебя, разработчика! Перед каждым деплоем, твой код должен быть протестирован и гарантировать полную рабочую функциональность. Профессионалы пишут работающий код, и я имею в виду тот код, который протестирован.

Есть только одна проблема...

«Тестирование занимает слишком много времени и сил».

У вас нет времени, вы и так уже заняты.

Нет очевидного ROI. Вы не можете подсчитать доход с тестирования.

Невозможно все протестировать. Большинство тестов - клики клики клики на каждый ход вашего приложения. Это кажется пустой тратой времени, когда его лучше потратить на новые функции, а не на QA. Но так или иначе, ваше приложение будет проверено. Если не вами, то вашими пользователями.

Перекрестите пальцы и заливайте на прод.

Если мы хотим поставлять высококачественные, хорошо проверенные приложения JavaScript, у нас  должен быть лучший способ.

Представьте, что вы отдали на аутсорс тестирование своего приложения.

Вы разработчик.

Вы знаете, что люди плохи в сложных, повторяющихся задачах.

Вы также знаете, что компьютеры очень, очень хороши в сложных, повторяющихся задачах.

Профессиональные разработчики используют компьютеры для автоматизации тестирования критических путей, поведения и всех мелочей - снова и снова, весь день и всю ночь.

Вот как профессиональные разработчики делают все, что сделано ... и это отлично.

Автоматизированные тесты - это продвижение.

Автоматизированные тесты - это ваша резервная копия, ваша мышца.

Автоматические тесты - ваше секретное оружие ...

Но прежде чем вы сможете построить эти тесты, вам нужно знать:

  • Что вы должны тестировать?
  • Когда это тестировать?
  • Нужно ли 100% покрытие?
  • Сколько тестов достаточно?

Вы можете прочесывать ввесь интернет, чтобы найти правильную алхимию инструментов и методов тестирования - или вы можете пропустить паралич анализа и перейти к успеху с проверенным методом тестирования.

Четырехуровневый проверенный метод тестирования программного обеспечения

Используя этот проверенный метод тестирования, вы будете использовать эти методы:

  • Используйте систему статического типа и linter, чтобы фиксировать основные ошибки, такие как опечатки и синтаксис.
  • Напишите эффективные модульные тесты, предназначенные для критического поведения и функциональности вашего приложения.
  • Разрабатывайте интеграционные тесты для комплексного аудита вашего приложения и убедитесь, что все работает правильно в гармонии.
  • Создавайте сквозные (e2e) функциональные тесты для автоматического клик-тестирования критических путей вместо того, чтобы полагаться на своих пользователей.

Эти четыре уровня автоматизированного тестирования дают вам шаблон для доставки профессиональных приложений JavaScript с уверенностью, скоростью и экономией денег. Каждый раз.

Один профессиональный метод тестирования каждого приложения JavaScript

Этот курс применит четырехуровневый метод тестирования к приложению React, но эта основополагающая стратегия может применяться в любой среде JavaScript: Angular, Vue, устаревшие Backbone  приложения, даже фреймворки и библиотеки, которые мы еще не встретили.

После этого курса вы будете:

  • обеспечивать надежные функции, которые работают для пользователей, как ожидалось
  • выбирать лучшие инструменты для работы
  • более эффективно общаться с коллегами
  • более уверенным, профессиональным разработчиком JavaScript

Изучите профессиональный метод тестирования JavaScript и всегда поставляйте высококачественное программное обеспечение, как профессионал.

Что в тестировании JavaScript ?

7 модулей, обладающих плотным опытом тестирования

1. Основы тестирования в JavaScript

Вы знаете, что делает фреймворк для тестирования? Вы знаете, что отличает фреймворк для тестирования от библиотеки тестирования? Лучший способ эффективно использовать инструмент - понять, как он работает. И лучший способ понять, как работает инструмент, - сделать это самостоятельно!

В этом коротком курсе мы узнаем, как работают фреймоврки и библиотеки, создавая собственную, простую версию каждой из них.

2. Статический анализ Тестирование приложений JavaScript

Существует множество способов, которыми ваше приложение может сломаться. Один из наиболее распространенных источников ошибок связан с опечатками и неправильными типами. Передача строки в функцию, которая ожидает число или попадающая в общую опечатку в логическом выражении, - это глупые ошибки, которые никогда не должны совершаться, но это происходит все время.

Мы могли бы написать полный набор автоматических тестов для всей нашей кодовой базы, чтобы такие ошибки никогда не происходили, но это, вероятно, будет слишком большой работой и медленным развитием. К счастью для нас, есть инструменты, которые мы можем использовать для удовлетворения целой категории тестирования с отличным опытом разработчиков.

 3. Основы JavaScript Mocking

При выполнении модульных тестов вы не хотите на самом деле делать сетевые запросы или взимать реальные кредитные карты. Это может ... дорого стоить... Поэтому вместо того, чтобы запускать ваш код точно так, как он будет работать в процессе производства, вы можете изменить некоторые из ваших модулей и функций JavaScript во время тестов и повысить скорость ваших тестов. 

В ходе тестов есть несколько отличных библиотек и абстракций для mockинга над вашими модулями JavaScript. Jest обладает отличными способностями для встроенных функций, а также целых модулей. Чтобы действительно понять, как все работает, давайте сами реализуем некоторые из этих функций.

4. Настройка Jest для тестирования приложений JavaScript

Jest - это полнофункциональная платформа тестирования, которая не имеет себе равных. Она удивительно проста и гибкая в одно и то же время. Для простых случаев использования вам часто не нужно ничего настраивать, устанавливать и пользоваться встроенной поддержкой режима покрытия и просмотра.

Однако в реальном приложении вам часто понадобятся специфические для вашего приложения потребности, особенно при тестировании приложений на основе браузера. Вам нужно будет обрабатывать загрузчики Webpack, динамический импорт и настраиваемое разрешение модуля, которые Node.js не поддерживает.

В этом курсе мы рассмотрим, как вы можете оптимизировать конфигурацию Jest, чтобы сделать тестирование приложений реального мира JavaScript восхитительным. Мы расскажем о том, что уже упоминалось в дополнение к поддержке Babel, охвате кода, о том, как сделать режим просмотра еще более полезным, и как запускать тестовые пакеты с совершенно разными конфигурациями.

5. Установка, настройка Сypress для веб-приложений JavaScript

Cypress - невероятно мощный инструмент для веб-тестирования. Он способен тестировать любое веб-приложение. Его архитектура помещает его в разрез над подобными сквозными инструментами тестирования. Его опыт является лучшим в своем классе. И поскольку Cypress запускает ваши тесты в том же контексте, что и остальная часть вашего приложения, вы можете получить скорость, надежность и отлаживаемость, которые являются просто далекой мечтой с похожими инструментами. Уловка? нет. Cypress является исключительным.

В этом курсе мы рассмотрим, как вы можете установить, настроить Cypress для тестирования современных веб-приложений JavaScript реального мира.

6. Тестируйте React компоненты с помощью Jest и react-testing-library

Если вы хотите поставлять свои приложения с уверенностью - вам нужен отличный набор автоматизированных тестов, чтобы абсолютно убедиться, что когда изменения дойдут до ваших пользователей, ничто не сломается. Чтобы получить эту уверенность, ваши тесты должны реалистично имитировать, как пользователи фактически используют ваши компоненты React. 

В этом курсе мы напишем ряд методов рендеринга и проведем ряд тестов, чтобы увидеть, как мы можем получить уверенность, которую мы ищем, не отказываясь от ремонтопригодности или тестовой скорости.

7. Используйте библиотеку dom-testing для тестирования любого фреймворка JS

Лицо, использующее ваши компоненты приложения, не должно знать или заботиться о том, какие фреймворки вы использовали для написания вашего приложения. Угадайте что: Также как и ваши тесты.

Этот курс исследует библиотеку dom-testing, используя 11 различных фреймворков: от React to Svelte. Вы получите практические навыки написания тестов для любого фреймворка JavaScript.

Получите отзывы от отраслевых экспертов

Практические испытания с wes bos и Скоттом Толински а также других известных разработчиков в отрасли.

Часто задаваемые вопросы

Могут ли модули в курсе быть обновлены по мере изменения программного обеспечения?

Да. Я планирую поддерживать этот курс! Он вообще игнорирует «версии» и придерживается фундаментальных подходов к тестированию ваших приложений, но по мере изменений они будут обновляться здесь.

Этот курс завершен?

Этот курс в настоящее время является предварительным выпуском! Все видео уроков для каждого модуля доступны, но некоторые из бонусных материалов и загрузок еще не готовы.

CH: Добавлены все 7 модулей. Ожидаем материалы.

Полный список уроков Развернуть / Свернуть
  • Урок 1. Throw an Error with a Simple Test in JavaScript 00:01:42
  • Урок 2. Abstract Test Assertions into a JavaScript Assertion Library 00:01:36
  • Урок 3. Encapsulate and Isolate Tests by building a JavaScript Testing Framework 00:02:28
  • Урок 4. Support Async Tests with JavaScripts Promises through async await 00:01:06
  • Урок 5. Provide Testing Helper Functions as Globals in JavaScript 00:00:55
  • Урок 6. Verify Custom JavaScript Tests with Jest 00:00:38
  • Урок 7. Lint JavaScript by configuring and running ESLint 00:03:51
  • Урок 8. Install and run Prettier 00:02:38
  • Урок 9. Configure Prettier 00:02:51
  • Урок 10. Use eslint-config-prettier to disable unnecessary ESLint stylistic rules 00:02:11
  • Урок 11. Validate all files are formatted when linting 00:02:38
  • Урок 12. Install, run and configure Flow 00:03:50
  • Урок 13. Run the validate script in a pre-commit git hook with husky 00:02:14
  • Урок 14. Auto-format all files and validate relevant files in a precommit script with lint-staged 00:03:04
  • Урок 15. Override Object Properties to Mock with Monkey-patching in JavaScript 00:02:05
  • Урок 16. Ensure Functions are Called Correctly with JavaScript Mocks 00:03:21
  • Урок 17. Restore the Original Implementation of a Mocked JavaScript Function with jest.spyOn 00:02:19
  • Урок 18. Mock a JavaScript module in a test 00:03:39
  • Урок 19. Make a shared JavaScript mock module 00:01:58
  • Урок 20. Install and run Jest 00:01:48
  • Урок 21. Transpile Modules with Babel in Jest Tests 00:02:18
  • Урок 22. Configure Jest’s test environment for testing node or browser code 00:02:09
  • Урок 23. Support importing CSS files with Jest’s moduleNameMapper 00:02:44
  • Урок 24. Support using webpack CSS modules with Jest 00:02:09
  • Урок 25. Generate a Serializable Value with Jest Snapshots 00:08:27
  • Урок 26. Test an Emotion Styled UI with Custom Jest Snapshot Serializers 00:03:40
  • Урок 27. Handle Dynamic Imports using Babel with Jest 00:01:57
  • Урок 28. Setup an afterEach Test Hook for all tests with Jest setupTestFrameworkScriptFile 00:02:52
  • Урок 29. Support custom module resolution with Jest moduleDirectories 00:02:38
  • Урок 30. Support a test utilities file with Jest moduleDirectories 00:08:43
  • Урок 31. Step through Code in Jest using the Node.js Debugger and Chrome DevTools 00:04:17
  • Урок 32. Configure Jest to report code coverage on project files 00:04:17
  • Урок 33. Analyze Jest Code Coverage Reports 00:03:14
  • Урок 34. Set a code coverage threshold in Jest to maintain code coverage levels 00:03:03
  • Урок 35. Report Jest Test Coverage to Codecov through TavisCI 00:02:03
  • Урок 36. Use Jest Watch Mode to speed up development 00:06:58
  • Урок 37. Run Jest Watch Mode by default locally with is-ci-cli 00:01:48
  • Урок 38. Filter which Tests are Run with Typeahead Support in Jest Watch Mode 00:02:43
  • Урок 39. Run tests with a different configuration using Jest’s --config flag and testMatch option 00:05:26
  • Урок 40. Support Running Multiple Configurations with Jest’s Projects Feature 00:04:52
  • Урок 41. Test specific projects in Jest Watch Mode with jest-watch-select-projects 00:02:15
  • Урок 42. Run ESLint with Jest using jest-runner-eslint 00:04:07
  • Урок 43. Run only relevant Jest tests on git commit to avoid breakages 00:04:36
  • Урок 44. Install and run Cypress 00:02:40
  • Урок 45. Write the first Cypress Test 00:06:12
  • Урок 46. Configure Cypress in cypress.json 00:02:58
  • Урок 47. Installing cypress-testing-library 00:03:08
  • Урок 48. Scripting Cypress for local development and Continuous Integration 00:04:38
  • Урок 49. Debug a test with Cypress 00:04:13
  • Урок 50. Use Cypress to test user registration 00:04:17
  • Урок 51. Cypress Driven Development 00:02:30
  • Урок 52. Simulate HTTP Errors in Cypress Tests 00:04:05
  • Урок 53. Test user login with Cypress 00:01:43
  • Урок 54. Create a user with cy.request from Cypress 00:02:46
  • Урок 55. eep tests isolated and focused with custom Cypress commands 00:02:36
  • Урок 56. Use custom Cypress command for reusable assertions 00:02:28
  • Урок 57. Run tests as an authenticated user with Cypress 00:01:54
  • Урок 58. Use cy.request from Cypress to authenticate as a new user 00:02:32
  • Урок 59. Use a custom Cypress command to login as a user 00:00:44
  • Урок 60. Combine custom Cypress commands into a single custom command 00:01:20
  • Урок 61. Install React DevTools with Cypress 00:03:43
  • Урок 62. Render a React component for testing 00:02:05
  • Урок 63. Use jest-dom for improved assertions 00:02:31
  • Урок 64. Use dom-testing-library to write more maintainable React tests 00:03:59
  • Урок 65. Use react-testing-library to render and test React Components 00:01:36
  • Урок 66. Avoid Memory leaks using react-testing-library’s cleanup function 00:01:52
  • Урок 67. Debug the DOM state during tests using react-testing-library’s debug function 00:00:47
  • Урок 68. Test React Component Event Handlers with fireEvent from react-testing-library 00:02:33
  • Урок 69. Assert rendered text with react-testing-library 00:02:21
  • Урок 70. Test prop updates with react-testing-library 00:01:18
  • Урок 71. Assert that something is NOT rendered with react-testing-library 00:01:36
  • Урок 72. Test accessibility of rendered React Components with jest-axe 00:02:51
  • Урок 73. Mock HTTP Requests with jest.mock in React Component Tests 00:04:26
  • Урок 74. Mock HTTP Requests with Dependency Injection in React Component Tests 00:02:07
  • Урок 75. Mock react-transition-group in React Component Tests with jest.mock 00:03:23
  • Урок 76. Test componentDidCatch handler error boundaries with react-testing-library 00:08:04
  • Урок 77. Test drive the development of a React Form with react-testing-library 00:03:03
  • Урок 78. Test drive the submission of a React Form with react-testing-library 00:01:36
  • Урок 79. Test drive the API call of a React Form with react-testing-library 00:06:42
  • Урок 80. Test drive mocking react-router’s Redirect component on a form submission 00:04:11
  • Урок 81. Test drive assertions with dates in React 00:03:06
  • Урок 82. Use generated data in tests with tests-data-bot to improve test maintainability 00:03:00
  • Урок 83. Test drive error state with react-testing-library 00:04:58
  • Урок 84. Write a custom render function to share code between tests and simplify tests 00:02:22
  • Урок 85. Test React components that use the react-router Router Provider with createMemoryHistory 00:04:01
  • Урок 86. Initialize the `history` object with a bad entry to test the react-router no-match route 00:01:20
  • Урок 87. Create a custom render function to simplify tests of react-router components 00:03:37
  • Урок 88. Test a redux connected React Component 00:03:17
  • Урок 89. Test a redux connected React Component with initialized state 00:00:52
  • Урок 90. Create a custom render function to simplify tests of redux components 00:02:57
  • Урок 91. Test a render prop component using a Jest mock function 00:02:58
  • Урок 92. Test React portals with react-testing-library 00:02:28
  • Урок 93. Test Unmounting a React Component with react-testing-library 00:03:15
  • Урок 94. Use dom-testing-library with React 00:02:02
  • Урок 95. Use dom-testing-library with Preact 00:02:14
  • Урок 96. Use dom-testing-library with jQuery 00:00:40
  • Урок 97. Use dom-testing-library with Dojo 00:01:26
  • Урок 98. Use dom-testing-library with HyperApp 00:01:33
  • Урок 99. Use dom-testing-library with AngularJS 00:01:03
  • Урок 100. Use dom-testing-library with Angular 00:01:29
  • Урок 101. Use dom-testing-library with VueJS 00:00:57
  • Урок 102. Use dom-testing-library with Mithril 00:01:09
  • Урок 103. Use dom-testing-library with Svelte 00:01:13
  • Урок 104. Use dom-testing-library with from-html 00:01:08
  • Урок 105. Practical testing with Wes Bos and Scott Tolinski 00:22:04
  • Урок 106. a11y with Marcy Sutton 00:34:23
  • Урок 107. Static Types with Jessica Kerr 00:28:42
  • Урок 108. Testing Practices with J.B. Rainsberger 00:33:27
  • Урок 109. Visual regression testing with Angie Jones 00:26:46
  • Урок 110. Snapshots and Reason with Jared Forsyth 00:35:02
  • Урок 111. Testing culture with Justin Searls 00:46:15
  • Урок 112. Ministry of testing with Rosie Sherry 00:27:42
  • Урок 113. Craftmanship with Kent Beck 00:32:56
  • Урок 114. scikit learn testing levels with mattias johansson 00:38:32
Этот курс находится в платной подписке!

И будет доступен в бесплатном просмотре 23.11.2018. Если у тебя еще нет у нас аккаунта - зарегистрируйся и оформи премиум подписку в своем личном кабинете, и смотри этот, а также многие другие курсы, прямо сейчас.

Следи за последними обновлениями и новостями в нашем coursehunters.club, или вступай в наш канал telegram.

Комментарии

Похожие курсы

en 13 уроков
egghead React Testing Cookbook
Определение «устаревшего кода» может быть описано просто как «код, который не имеет тестов». Код, который вы только что написали, 5 минут назад? Устаревший код. Код, который нельзя реорганизовать, но только изменить.Как мы предотвращаем появление устаревшего кода в большинстве проектов? Прочная стратегия тестирования.Приложения React не отличаются друг от друга и могут быть протестированы просто, если вы знаете некоторые...
Duration 00:38:46
5 1
en 8 уроков
frontendmasters Testing JavaScript Applications
Создание и развертывание веб-приложений - сложная задача. Чтобы проверить работает ли приложения должным образом, требуется большое количетсво автоматических тестов. Знать как правильно настроить и писать тесты - критически важный арсенал в вашем портфолио.
В этом курсе мы рассмотрим достоинства и недостатки различных форм тестирования, а также приступим к настройке и использованию специальных инструментов для повышения уверенности в...
Duration 05:29:05
13 0
18-04-2018 en 29 уроков
frontendmasters Testing Practices and Principles
Цель теста - повысить вашу уверенность в том, что предмет вашего теста работает так, как он должен быть. Не все тесты обеспечивают одинаковый уровень доверия, а некоторые обеспечивают очень небольшую уверенность! Если вы не делаете что-то правильно, вы можете тратить свое время и давать себе ложное чувство безопасности - даже хуже, чем вообще никаких тестов.
Duration 03:39:39
7 1
19-04-2018 en 36 уроков
frontendmasters Testing React Applications
Разработка и развертывание приложений не является сложной задачей. Но быть уверенным, что вы не отправляете скрытую ошибку иногда очень сложно. Знание того, как настроить и использовать инструменты тестирования имеет решающее значение для вашего успеха.
Duration 04:11:22
16 0
en 18 уроков
egghead End to End testing with Cypress
Инструменты, доступные для модульного тестирования, прошли долгий путь. Хотя тестирование никогда не может быть «легким», доступные инструменты, безусловно, переместили тестирование ближе к простоте. Полноценное тестирование полностью не изменилось, и в результате многие приложения тестируются вручную и часто пользователями на производстве. Cypress предоставляет среду тестирования, которая обеспечивает сквозное тестирование быстро и...
Duration 01:08:00
12 0
en 9 уроков
egghead End to End Testing with Google's Puppeteer and Jest
Тестирование End to End включает в себя обеспечение того, чтобы все интегрированные части приложения функционировали и работали вместе, как ожидалось. Эти типы тестов моделируют реальные сценарии пользователя, в основном проверяя, как настоящий пользователь будет использовать приложение. Они заполняют пробелы, которые блок и интеграционные тесты просто не могут покрыть.Puppeteer - это основная часть этих инструментов. При правильном...
Duration 00:34:29
5 6
ru
leanpub Тестирование компонентов Vue.js с помощью Jest
Узнайте, как применять модульное тестирование компонентов Vue.js, используя Jest, полнофункциональную среду тестирования JavaScript. Поверхностная отрисовка, имитация зависимостей и другие методы.  Модульное тестирование в современных JavaScript-фреймворках на основе компонентов нелегко. Компоненты связаны друг с другом, а браузер добавляет слой пользовательского интерфейса, что делает всё настолько зависимым, когда как нам нужно...
Duration 00:00:00
3 0

Последнее добавленное

Laravel - Узнайте, как создавать диаграммы с Vue.js и Laravel

Laravel - Узнайте, как создавать диаграммы с Vue.js и Laravel

en
На этом коротком курсе студенты научатся использовать VUE.js с Laravel для создания пользовательских диаграмм (чартов) для отображения данных. Студенты также научатся отправлять и получать запросы через VUE на бэкэнд (PHP), где они могут его обработать. Это отличный курс для тех, кто хочет...
The Essential Android O Developer Course (Java)

The Essential Android O Developer Course (Java)

en
Узнайте все подробно о том, как писать приложения для Android O с помощью Java. Студенты научатся программировать мобильные приложения с использованием языка программирования Java на платформе Android. Это включает в себя такие темы, как: жизненный цикл Android, ресурсы Android, дизайн...
Android Java Мастер-класс - станьте разработчиком приложений

Android Java Мастер-класс - станьте разработчиком приложений

en
Улучшите свои карьерные возможности, изучив разработку приложений для Android. Изучите Android Studio и создайте свое первое приложение сегодня. На Android приходится 81,7% всех проданных смартфонов, но не все упакованы самой последней Android Nougat. Это вас не волнует, потому что после...
Laravel Eloquent: Экспертный уровень

Laravel Eloquent: Экспертный уровень

en
После этого курса вы станете экспертом в создании отношений, эффективном анализе данных и в использовании малоизвестных функций Eloquent. Eloquent отлично подходит для операций с базами данных, но на протяжении многих лет я заметил, что это самая популярная тема для вопросов на Twitter или...
Изучите JMETER c нуля - (Performance + Load)

Изучите JMETER c нуля - (Performance + Load)

en
Лекции по Jmeter, в которых объясняется нагрузочное тестирование с реальными примерами, включая поддержку material и query. Курс разработан таким образом, что пользователь может начинать все с самого нуля без каких-либо предварительных знаний о Jmeter или Performance...
iOS 12 и Swift 4.2 для начинающих: 200+ практических туториалов

iOS 12 и Swift 4.2 для начинающих: 200+ практических туториалов

en
Изучайте iOS 12 и Swift 4.2, используя курс высочайшего качества по разработке приложений. Автоматическая компоновка, Core Data, анимация и многое другое! Если вы всегда мечтали создать свои собственные приложения для iPhone и iPad, то это курс для вас. Этот курс является исчерпывающим...
chat
logo