Pentingnya Pengujian Unit
- Deteksi Bug Secara Dini: Deteksi dini berarti bug tidak menjadi masalah kritis.
- Pemeliharaan Kode: Kode yang telah teruji dengan baik lebih mudah untuk diperbaiki dan diperluas tanpa menambahkan bug baru.
- Keandalan yang Ditingkatkan: Meminimalkan terjadinya kesalahan saat runtime, mendorong stabilitas aplikasi yang lebih baik.
- Dokumentasi yang Lebih Baik: Pengujian berfungsi sebagai dokumentasi dengan mengilustrasikan perilaku kode yang diinginkan.
![]() |
sumber: medium.com |
Cara Mengatur Pengujian Unit di Angular
npm install -g @angular/cli
ng new my-angular-appcd my-angular-app
ng test
Menulis Unit Test di Angular
Menguji Komponen
import { ComponentFixture, TestBed } from '@angular/core/testing';import { CounterComponent } from './counter.component';describe('CounterComponent', () => {let component: CounterComponent;let fixture: ComponentFixture<CounterComponent>;beforeEach(async () => {await TestBed.configureTestingModule({declarations: [CounterComponent]}).compileComponents();});beforeEach(() => {fixture = TestBed.createComponent(CounterComponent);component = fixture.componentInstance;fixture.detectChanges();});it('should increment counter', () => {component.increment();expect(component.count).toBe(1);});});
Menguji Layanan
import { TestBed } from '@angular/core/testing';import { AuthService } from './auth.service';describe('AuthService', () => {let service: AuthService;beforeEach(() => {TestBed.configureTestingModule({});service = TestBed.inject(AuthService);});it('should return true for authenticated user', () => {service.login();expect(service.isAuthenticated()).toBeTrue();});});
Debugging SPA Sudut
Debugging adalah fase fundamental dalam pengembangan. Angular dilengkapi dengan banyak alat untuk membantu pengembang menemukan dan memperbaiki masalah dengan cepat.
Menggunakan Angular DevTools
Angular DevTools digunakan untuk memeriksa komponen Angular aplikasi Anda dan memantau deteksi perubahan saat Anda membuat aplikasi.
- Menginstal Angular DevTools untuk Chrome atau Firefox
- Tekan F12 atau Ctrl + Shift + I untuk membuka DevTools, lalu buka tab Angular.
- Periksa properti komponen dan statusnya.
Debugging dengan Pencatatan Konsol
Cara sederhana dan efektif untuk men-debug aplikasi Angular adalah dengan menggunakan pernyataan console.log().
ngOnInit() {console.log('Component initialized:', this.data);}
Menggunakan Breakpoint untuk Browser
- Anda harus memuat F12 (Alat Pengembang di Chrome atau Edge),
- Buka tab Sumber.
- Temukan dan panggil file TypeScript.
- Klik pada nomor baris untuk mengatur breakpoint.
- Muat ulang halaman dan berinteraksi dengan aplikasi untuk mencapai breakpoint.
Melakukan debug dengan VS Code
VS Code memiliki lingkungan debugging yang kuat untuk aplikasi Angular.
1. Kami menyiapkan Debugger untuk ekstensi Chrome di VS Code.
2. Tempatkan konfigurasi di bawah ini di dalam peluncuran. json:
{
"version": "0.2.0",
"configurations": [
{
"type": "chrome",
"request": "launch",
"name": "Launch Chrome",
"url": "http://localhost:4200",
"webRoot": "${workspaceFolder}"
}
]
}
3. Mulai debug dengan mengklik Jalankan dan Debug di VS Code.
Praktik Terbaik Pengujian Unit & Debugging
- Susun-Tindak-Tegaskan: Tes harus disusun dengan baik agar mudah dibaca.
- Tulislah Tes yang Kaya: Tangani berbagai kasus tepi dan kasus kegagalan.
- Hindari Menguji Detail Implementasi: Ekspektasi harus menunjukkan perilaku yang diharapkan dan bukan logika internal.
- Gunakan Spies dan Mocks: Ganti dependensi dengan uji coba ganda dengan mata-mata Jasmine, misalnya
- Tes Independen: Setiap pengujian harus dapat berjalan tanpa ketergantungan pada pengujian lain, atau Anda berisiko mengalami efek samping yang tidak diharapkan.
- Memanfaatkan Laporan Cakupan Pengujian: Jalankan ng test --code-coverage untuk mengidentifikasi kode yang belum diuji.