🧪 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