Abra o prompt de comando e cole o código abaixo:
git clone [email protected]:daniloagostinho/curso-angular-testes-unitarios.git
Entre na pasta do projeto
cd curso-angular-testes-unitarios
e instale as dependências
npm i
Parar iniciar o servidor com a aplicação funcionando digite o comando a baixo:
ng serve
a aplicação estará disponível no endereço:
localhost:4200
Para visualizar os testes no navegador digite o coimando a baixo:
ng test
será aberto automaticamente um navegador com os testes.
Grade curricular
- Introdução;
- Apresentação do curso;
- Como aproveitar aproveitar o máximo do curso.
- A importancia do Teste de Software;
- O que é Jasmine e Karma;
- O que testar em uma aplicação Angular;
- Teste de integração x Teste de Unidade;
- Cobertura de Testes (code coverage).
- Suíte de testes - describe;
- Especificações de estes - it;
- Antes de cada teste - beforeEach;
- Após cada teste - afterEach;
- Antes de todos - beforeAll;
- Configurando os módulos dos testes- TestBeb.
- Instalação do Nodejs;
- Instalando o Angular CLI;
- Instalando o Visual Studio Code;
- Criando o projeto com Angular CLI;
- Rodando a aplicação no navegador;
- Executando os testes.
- Erro ao trabalhar com requisições - No provider for HttpClient;
- Erro modal Angular material - No provider for MatDialog;
- Erro ao trabalhar com formularios - No provider for FormBuilder;
- Erro ao trabalhar com ngModel - No provider for NgControl found in NodeInjector.
- Focando em um único teste - fdescribe;
- Focando em uma única especificação - fit;
- Rodando os testes de um único arquivo - ng test --include;
- Adicionando breakpoints;
- Utilizando debugger;
- Contexto de Debugger do Jasmine.
- Verificando se os valores são iguais - toEqual;
- Verificando se os valores são iguais e do mesmo objeto - toBe;
- Testando se um valor é truthy - toBeTruthy;
- Testando se um valor é falsy - toBeFalsy;
- Verificando se um valor é true - toBeTrue;
- Verificando se um valor é falso - toBeFalse;
- Testando se um valor não é true - not;
- Verificando se um valor esta contido em um array ou string - toContain;
- Verificando se um valor foi definido - toBeDefined;
- Verificando se um valor não foi definido - toBeUndefined;
- Testando se um valor é nulo - toBeNull;
- Testando se um valor é NaN - toBeNaN;
- Verificando se um valor é maior do que outro - toBeGreatherThan;
- Testando se um valor é menor do que outro - toBeLessThan;
- Verificando se um numero está próximo a outro - toBeCloseTo;
- Testando se um valor é igual com base em uma expressão regular - toMatch;
- Verificando se uma funcão lançou um erro - toThrow.
- Mockando métodos de serviço com Mocks;
- Mockando métodos de serviços com Stubs;
- Espionando métodos de componentes com spyOn;
- Espionando métodos de serviços com spyOn;
- Criando objetos com createSpy;
- Mockando métodos com createSpyObj.
- Testando requisição GET por ID;
- Testando requisição GET;
- Testando erro na requisição;
- Testando requisição POST;
- Testando requisição PUT;
- Testando requisição DELETE;
- Testando se headers foram passados na requisição.
- Testando subscribe;
- Testando promises;
- Utilizando done função;
- Async e WhenStable;
- FakeAsync e Tick.
- Acessando a DOM com debugElement.query() e nativeElement.querySelector();
- Detecção de alterações manual - fixture.detectChanges();
- Detecção automática de alterações;
- Disparando click no botão com triggerEventHandler;
- Preenchendo formulários disparando evento Input;
- Testando Entradas e Saídas - @Input e @Output.
- Testando pipes;
- Testando guarda de rota;
- Testando rotas;
- Testando diretivas.
- Testando se formulário é inválido;
- Testando se formulário é válido;
- Testando se o botão está desabilitado quando formulário for inválido;
- Testando se um botão está habilitado quando formulário for válido;
- Criando método para retornar um campo do formulário;
- Criando método para criar dados (payload) para submeter pro servidor;
- Submetendo dados do formulário.
- Apresentação final.
Este curso pode ser adquirido clicando aqui.