Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS CompTIA Security+ AWS Certified Developer - Associate
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Personal Development Mindfulness Personal Transformation Meditation Life Purpose Coaching Neuroscience
Web Development JavaScript React CSS Angular PHP WordPress Node.Js Python
Google Flutter Android Development iOS Development Swift React Native Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Retargeting
SQL Microsoft Power BI Tableau Business Analysis Business Intelligence MySQL Data Analysis Data Modeling Data Science
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Online Business Business Plan Startup Freelancing Blogging Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
30-Day Money-Back Guarantee

This course includes:

  • 15 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
Development Web Development JavaScript

JS com TDD na Prática

Aprenda testes na prática e garanta um currículo melhor para o mercado de trabalho.
Rating: 4.8 out of 54.8 (1,491 ratings)
5,464 students
Created by Willian Justen de Vasconcellos
Last updated 7/2020
Portuguese
30-Day Money-Back Guarantee

What you'll learn

  • Boas práticas de programação
  • Como criar um boilerplate organizado
  • As novas Features do ES6, ES7 e ES8
  • Como trabalhar com módulos em JS
  • Como utilizar o Webpack para criar aplicações
  • Teoria de Testes
  • Funcionamento do Mocha, Chai, Sinon e Istambul
  • Criar uma biblioteca para trabalhar com uma API do Spotify
  • Refatorar uma biblioteca utilizando testes
  • Criar uma aplicação web com testes (Player do Spotify)
  • Criar uma CLI (Conversor de Bitcoin)
  • Criar um componente simples em React com Enzyme e Storybook

Course content

11 sections • 152 lectures • 15h 0m total length

  • Preview07:32
  • Configurando o NPM e Criando o package.json
    09:42
  • Criando o gitignore de forma simples
    01:44
  • Criando arquivos para documentação
    08:08
  • Padrões de Código - Styleguides
    07:52
  • Instalando e Usando o Eslint
    09:43
  • UPDATE: Atualizando o Eslint para 4+
    04:37
  • Configurando o editorconfig
    04:31
  • Criando um Npm Script
    02:56
  • Configurando hooks no git
    05:44

  • Preview03:10
  • 2.1 - Escopo do JS
    03:57
  • 2.2 - Variável let no JS
    03:40
  • 2.3 - Variável const no JS
    03:28
  • 2.4 - Temporal Dead Zone
    02:26
  • 3.1 - Introdução a Arrow Function
    06:20
  • 3.2 - Arrow Function e o Lexical This
    06:21
  • 4.1 - Introdução a Template Literals
    04:11
  • 4.2 - Usando Template Literals para Html Fragments
    06:15
  • 4.3 - Tagged Template
    07:31
  • 5.1 - Shorthand Properties
    03:02
  • 5.2 - Default Parameters
    03:08
  • 5.3 - Novos métodos para Strings
    03:31
  • 6.1 - Array.from()
    03:27
  • 6.2 - Array.of()
    00:53
  • 6.3 - Array.find() e Array.findIndex()
    04:39
  • 6.4 - array.fill()
    02:30
  • 7.1 - Introdução ao Destructuring
    05:10
  • 7.2 - Destructuring em Arrays
    00:47
  • 7.3 - Fazendo swap de variáveis com destructuring
    02:13
  • 8.1 - Introdução ao Spread Operator
    04:51
  • 8.2 - Usando o spread dentro de funções
    01:30
  • 8.3 - Rest params
    04:02
  • 9.1 - Introdução a Promises
    06:57
  • 9.2 - Exemplo Real de Promises
    04:58
  • 9.3 - Manipulando múltiplas Promises
    03:44
  • 10.1 - Herança Prototipal
    05:47
  • 10.2 - Criando Classes do ES6
    05:19
  • 10.3 - Usando extended classes
    04:33
  • 11.1 - Introdução a Symbols
    05:06
  • 11.2 - Iterators e Iterables - for...of
    04:44
  • 12.1 - Introdução a Generators
    05:17
  • 12.2 - Usando Generators para fluxos assíncronos
    06:40
  • 13.1 - Introdução ao Proxy
    06:38
  • 14.1 - Introdução ao Set
    05:27
  • 14.2 - Introdução ao WeakSet
    03:32
  • 15.1 - Introdução ao Map
    02:46
  • 15.2 - Introdução ao WeakMap
    03:55

  • Introdução ao Async/Await
    11:05
  • Tratando erros em async/await
    02:17
  • Async/Await com Multiplas Promises
    06:34
  • padStart e padEnd
    04:08
  • Exponentiation
    00:57
  • Array.prototype.includes
    02:18
  • Object.entries
    02:54
  • Object.values
    01:53
  • Trailing Commas
    02:07

  • Introdução a Módulos em JS
    10:15
  • Configurando o Webpack
    10:49
  • Trabalhando com Imports no ES6
    07:07
  • Trabalhando com Exports no ES6
    08:02
  • UglifyJS no Webpack
    02:41
  • Variáveis de Ambiente no Webpack
    05:08
  • Adicionando Sourcemaps em nosso código
    03:46
  • Inicializando um server com Webpack
    03:21

  • Preview10:48
  • Alguns fatores para alcançar qualidade em seu projeto
    07:57
  • Por que testar?
    03:43
  • Como funciona o fluxo do TDD?
    05:18
  • Como pensar em testes? Padrão de teste.
    04:20
  • Tipos de Testes
    05:30
  • Algumas dicas para os tipos de testes
    07:28
  • Spies, Stubs e Mocks
    08:17

  • Apresentando Ferramentas
    05:03
  • Iniciando a estrutura com Mocha e Chai
    02:52
  • Funcionamento do Mocha - describe, context, it...
    08:38
  • Reporters do Mocha
    04:39
  • Comandos Skip, Only, Bail
    05:31
  • Introdução aos Hooks do Mocha
    07:47
  • Hooks na Prática
    10:41
  • Métodos do Chai
    16:48
  • Criando uma calculadora simples - Pt1
    07:16
  • Criando uma calculadora simples - Pt2
    09:16
  • Convertendo e testando em ES6
    08:45
  • Criando um FizzBuzz com TDD
    10:34
  • Aplicando o Code Coverage
    09:35
  • Rodando check-coverage antes de cada push
    05:16

  • Preview04:42
  • Clonando o Boilerplate e editando
    03:30
  • Criando Smoke Tests
    05:04
  • Instalando Sinon e dependências
    07:55
  • Utilizando o calledOnce
    05:11
  • Utilizando o calledWith
    05:55
  • Utilizando context e refatorando código de teste
    04:15
  • Retornando Promises
    05:59
  • Escrevendo testes para métodos restantes
    11:37
  • Rodando um exemplo no Node
    03:51
  • Criando arquivos para o Endpoint de Albums
    13:57
  • Refatorando e reorganizando o código
    08:17
  • Transpilando a biblioteca com Babel
    05:54
  • Utilizando o Webpack para gerar a biblioteca em UMD
    06:07
  • Criando um exemplo simples com a biblioteca em UMD
    07:04
  • Criando uma documentação
    07:45
  • Integrando com o Travis CI
    07:40
  • Integrando com o Coveralls
    05:28
  • Publicando a biblioteca no NPM
    05:41
  • Adicionando Token para autorização
    06:39

  • Refatorando para Classe/Construtor
    09:55
  • Criando método de request no objeto da Classe
    08:52
  • Refatorando o método para Albums
    07:30
  • Refatorando os métodos de Search
    09:10
  • Atualizando Webpack para gerar UMD a partir de Classes
    03:04

  • Preview02:29
  • Mostrando o Markup Final da Aplicação
    03:12
  • Configurando o Webpack-dev-server
    09:00
  • Criando o Markup Básico da Aplicação
    07:08
  • Importando a Biblioteca do Spotify Wrapper
    05:31
  • Criando componente de AlbumList
    15:03
  • Adicionando o AlbumList no Layout
    04:42
  • Criando componente AlbumInfo
    07:51
  • Adicionando AlbumInfo no Layout
    02:48
  • Criando componente AlbumTracks
    09:19
  • Adicionando AlbumTracks no Layout
    04:15
  • Criando método ConvertToHumanTime
    09:48
  • Aplicando ConvertToHumanTime no Layout
    02:13
  • Criando SearchTrigger
    05:23
  • Criando SelectAlbumTrigger
    07:38
  • Criando PlaylistTrigger
    08:22

  • Preview02:33
  • Editando o package.json
    03:50
  • Iniciando a CLI e testes
    08:16
  • Conhecendo o Commander
    05:53
  • Aprendendo a rodar a CLI localmente
    03:12
  • Definindo Options como parâmetros
    13:49
  • Utilizando a API para obter dados reais
    11:38
  • Tratamento de erros
    03:02
  • Colorindo o terminal com Chalk
    05:29
  • Adicionando um Loader
    02:48
  • Refatorando testes assíncronos com async/await
    06:42

Requirements

  • Conhecimentos básicos de JS

Description

Aviso: O curso está desatualizado no momento, toda a parte teórica e lógica que é fundamental estão inalterados, mas é possível que você tenha erros com diferentes versões. O curso continua sendo muito útil e importante, mas tenha em mente que erros poderão ocorrer e você terá de mudar. Planejo atualizar o curso muito em breve.

O curso tem como objetivo passar de forma prática e eficiente como se trabalhar com Javascript para criação de bibliotecas e aplicações voltadas para web. Nós iremos aprender sobre boas práticas, como iniciar uma estrutura básica, como desenvolver com o pensamento voltado a testes e conhecer as mais modernas bibliotecas de teste em Javascript. O curso será desenvolvido em pequenos módulos com vídeos curtos, facilitando assim o aprendizado e o desenvolvimento do aluno, visando sempre uma didática simples, concisa e bastante aplicada a prática de trabalho.

Existirão alguns projetos ao decorrer do curso, para aplicarmos os conceitos aprendidos, fazendo com que o aluno perceba sua evolução e também comece a trabalhar mais em sua parte criativa e com código.

Who this course is for:

  • Pessoas que buscam aprender como desenvolver com qualidade.
  • Quem deseja aprender a criar projetos com TDD desde o início.
  • Quem deseja se atualizar no mercado de trabalho e sair na frente.

Instructor

Willian Justen de Vasconcellos
Engenheiro de Software
Willian Justen de Vasconcellos
  • 4.7 Instructor Rating
  • 32,559 Reviews
  • 210,571 Students
  • 8 Courses

Olá, eu sou Willian Justen. Sou Engenheiro de Software com anos experiência, já tendo trabalhado em grandes empresas como Toptal, Globo, HUGE, Queremos/WeDemand entre outras. Sempre focando na qualidade e melhor entrega para o usuário. Escrevo bastante no meu blog, falando sobre SVG, CSS, JS e minhas experiências como desenvolvedor.

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.