Cara Bangun AI Agent untuk Otomatisasi Pengujian Unit di n8n + GPT (MVP 1 Hari)
· 3 menit baca
Cara Bangun AI Agent untuk Otomatisasi Pengujian Unit di n8n + GPT (MVP 1 Hari)
Hook: Pernah ngoding sampai mata merah karena harus menulis dan menjalankan ratusan unit test setiap commit? Tim dev yang kecil sering terjebak di testing bottleneck, yang mengakibatkan release melambat dan bug meluncur ke production. Kalau kamu ingin menghilangkan kerja manual ini dalam 1 hari, artikel ini kasih kamu workflow n8n + AI Agent yang menulis, mengeksekusi, dan memelihara unit test secara otomatis.
Kenapa AI Agent + n8n Jadi Solusi Praktis?
- Skalabilitas: n8n bisa meng-orchestrasi ribuan panggilan API secara paralel.
- Kecepatan: GPT-4 (atau model LLM murah) dapat menghasilkan kode test dalam hitungan detik.
- Feedback Loop: AI Agent dapat membaca hasil test, memperbaiki kegagalan, dan meng-update test secara iteratif.
Arsitektur Workflow
Git Repository → n8n Trigger (push)
→ Fetch Changed Files
→ LLM Prompt (Generate/Update Unit Tests)
→ Save Tests to Repo (Git Commit)
→ Run Test Suite (Docker/Node)
→ Parse Result
→ If Fail → Prompt LLM to Fix + Re‑run (max 2 retries)
→ Notify via Slack/Telegram
Diagram di atas menggambarkan alur data end‑to‑end, mulai dari commit kode sampai notifikasi hasil test.
1. Trigger n8n pada Push ke Repository
Gunakan GitHub Trigger node. Pastikan webhook hanya mengirimkan file yang berubah (filter .js atau .ts).
2. Ambil Daftar File yang Perlu Dites
Gunakan Execute Command dengan git diff --name-only ${{ $json.after }} ${{ $json.before }}. Output ini menjadi input selanjutnya.
3. Generate Unit Test dengan GPT
Node HTTP Request ke OpenAI (atau LLM lokal) dengan prompt:
You are a senior JavaScript/TypeScript developer. Write Jest unit tests for the following file:
{{file_content}}
Only output the test file content, no explanations.
Pastikan menambahkan temperature: 0.2 untuk kode deterministik.
4. Commit Test ke Repo
Gunakan Git Clone → Write File → Git Add/Commit/Push. Tambahkan commit message standar: chore(tests): auto‑generated unit tests for {{filename}}.
5. Jalankan Test Suite
Deploy sebuah Docker Container yang berisi project + dependencies. Node Docker Execute dengan perintah npm test -- --findRelatedTests {{test_file}}. Capture stdout/stderr.
6. Analisis Hasil & Auto‑Fix
Parse output JSON (Jest supports --json). Jika ada failing test, kirim kembali ke LLM dengan prompt:
The following Jest test failed:
{{error_output}}
Fix the test or the source code so that the test passes. Return only the updated file(s).
Loop maksimal dua kali agar tidak terjebak infinite.
7. Notifikasi & Dashboard
Kiriman Slack dengan blok sections yang menampilkan pass rate, file yang di‑test, dan link ke commit. Simpan ringkasan ke Google Sheet untuk historis.
Contoh Use Case Real: Micro‑service Node.js
Tim startup “FinTrack” memiliki micro‑service payment‑gateway dengan 12 endpoint. Setiap perubahan pada src/payments.js otomatis memicu workflow di atas. Dalam 30 menit, mereka menghasilkan 8 unit test, menjalankannya, dan mendapatkan laporan 95% coverage tanpa menulis satu baris test secara manual.
Strategi & Insight Penting
- Prompt Engineering: Sertakan konteks seperti
Jest,mocklibraries, dan naming convention agar LLM menghasilkan kode yang konsisten. - Versioning LLM: Simpan id model (e.g., gpt-4-0613) di metadata commit untuk traceability.
- Cost Control: Gunakan model “code‑davinci‑002” untuk generasi, dan fallback ke “gpt‑3.5‑turbo” saat token usage tinggi.
- Human‑in‑the‑Loop (HITL): Tambahkan optional approval step via
Webhookjika tim ingin review sebelum merge. - Cache Prompt Result: Simpan hash file konten; jika tidak berubah, lewati generasi test.
Langkah Implementasi (Checklist)
- Setup n8n (Docker Compose) dengan akses ke repo git.
- Aktifkan OpenAI API key di n8n Credentials.
- Buat workflow sesuai diagram di atas.
- Uji coba dengan satu file perubahan.
- Iterasi untuk menambahkan caching & HITL.
- Scale: aktifkan trigger pada semua repo mikro‑service.
Penutup & Call to Action
Dengan kombinasi n8n + AI Agent, kamu bisa mengubah proses testing yang memakan waktu menjadi instant CI dalam hitungan menit. Coba deploy workflow ini hari ini, dan lihat berapa menit yang kamu hemat tiap commit. Bangun, tes, dan iterasi lebih cepat – biarkan AI menulis unit test untukmu!
Sudah siap? Clone contoh repo di GitHub JIPRAKS, ikuti README, dan mulailah otomatisasi sekarang.