🧪 Testes - ecosif-angular
📋 Visão Geral
Este documento descreve como escrever e executar testes no projeto ecosif-angular.
🚀 Executar Testes
Todos os Testes
# Executar todos os testes
npm test
# ou
ng test
Testes com Cobertura
# Gerar relatório de cobertura
ng test --code-coverage
# Relatório será gerado em: coverage/
Testes em Modo Watch
# Modo watch (re-executa ao salvar)
ng test --watch
📝 Escrever Testes
Teste de Componente
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { NovaPaginaComponent } from './nova-pagina.component';
describe('NovaPaginaComponent', () => {
let component: NovaPaginaComponent;
let fixture: ComponentFixture<NovaPaginaComponent>;
beforeEach(async () => {
await TestBed.configureTestingModule({
declarations: [ NovaPaginaComponent ]
})
.compileComponents();
});
beforeEach(() => {
fixture = TestBed.createComponent(NovaPaginaComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});
Teste de Service
import { TestBed } from '@angular/core/testing';
import { HttpClientTestingModule } from '@angular/common/http/testing';
import { NovoService } from './novo.service';
describe('NovoService', () => {
let service: NovoService;
beforeEach(() => {
TestBed.configureTestingModule({
imports: [HttpClientTestingModule]
});
service = TestBed.inject(NovoService);
});
it('should be created', () => {
expect(service).toBeTruthy();
});
it('should fetch data', () => {
// Test implementation
});
});
🛠️ Ferramentas de Teste
Jasmine
Framework de testes padrão do Angular.
Karma
Runner de testes para execução no navegador.
Configuração
Arquivo: karma.conf.js
✅ Boas Práticas
- Testes Unitários - Teste funções isoladamente
- Testes de Integração - Teste interações entre componentes
- Mocks - Use mocks para dependências externas
- Cobertura - Busque alta cobertura de código
Última Atualização: 2025-12-01