skills/testing/SKILL.md
--- name: testing router_kit: FullStackKit description: Kapsamlı test stratejileri ve 2025 test araçları. Unit, integration, e2e ve visual testing. metadata: skillport: category: quality tags: [architecture, automation, best practices, clean code, coding, collaboration, compliance, debugging, design patterns, development, documentation, efficiency, git, optimization, productivity, programming, project management, quality assurance, refactoring, software engineering, standards, testing,
npx skillsauth add vuralserhat86/antigravity-agentic-skills skills/testingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Yazılım kalitesini sağlamak için sistematik test yaklaşımları. 2025 modern test araçları ve piramit test stratejisi.
/ \
/E2E\ ← En az (Yavaş, Pahalı, Kırılgan)
/-----\
/ INTEGR\ ← Orta (Hız ve Güven dengesi)
/---------\
/ UNIT \ ← En çok (Hızlı, Ucuz, İzole)
/-------------\
| Tip | Kapsam | Hız | Maliyet | |-----|--------|-----|---------| | Unit | Fonksiyon/Component | ⚡⚡⚡ | 💸 | | Integration | DB/API/Module arası | ⚡⚡ | 💸💸 | | E2E | Tam kullanıcı akışı | ⚡ | 💸💸💸 |
import { sum } from './math';
describe('sum function', () => {
test('adds 1 + 2 to equal 3', () => {
expect(sum(1, 2)).toBe(3);
});
test('handles zero correctly', () => {
expect(sum(0, 0)).toBe(0);
});
});
// Service mock'lama
jest.mock('./apiService');
import { fetchData } from './apiService';
test('should use mocked data', async () => {
(fetchData as jest.Mock).mockResolvedValue({ id: 1, name: 'Test' });
const data = await getServiceData();
expect(data.name).toBe('Test');
});
import request from 'supertest';
import app from './app';
describe('POST /api/users', () => {
test('should create a new user and return it', async () => {
const response = await request(app)
.post('/api/users')
.send({ email: '[email protected]', name: 'Test' });
expect(response.status).toBe(201);
expect(response.body.email).toBe('[email protected]');
});
});
import { test, expect } from '@playwright/test';
test('user can login successfully', async ({ page }) => {
await page.goto('/login');
await page.fill('input[name="email"]', '[email protected]');
await page.fill('input[name="password"]', 'password123');
await page.click('button[type="submit"]');
await expect(page).toHaveURL('/dashboard');
await expect(page.locator('h1')).toContainText('Hoş Geldiniz');
});
// Playwright visual test
test('dashboard visual comparison', async ({ page }) => {
await page.goto('/dashboard');
await expect(page).toHaveScreenshot('dashboard.png');
});
Kaynak: Spotify's Testing Pyramid & Playwright Best Practices
| Aşama | Doğrulama | |-------|-----------| | 1 | Testler "Flaky" (bazen geçen bazen kalan) özellikten arındırıldı mı? | | 2 | Mock veriler gerçek dünya senaryolarını (Edge cases) yansıtıyor mu? | | 3 | E2E testleri production ortamını birebir simüle ediyor mu? |
Testing v2.5 - With Workflow
tools
Production-tested setup for Zustand state management in React. Includes patterns for persistence, devtools, and TypeScript patterns. Prevents hydration mismatches and render loops.
development
Comprehensive spreadsheet creation, editing, and analysis with support for formulas, formatting, data analysis, and visualization. When Claude needs to work with spreadsheets (.xlsx, .xlsm, .csv, .tsv, etc) for: (1) Creating new spreadsheets with formulas and formatting, (2) Reading or analyzing data, (3) Modify existing spreadsheets while preserving formulas, (4) Data analysis and visualization in spreadsheets, or (5) Recalculating formulas
development
--- name: websocket_engineer router_kit: FullStackKit description: WebSocket specialist for real-time communication systems. Invoke for Socket.IO, WebSocket servers, bidirectional messaging, presence systems. Keywords: WebSocket, Socket.IO, real-time, pub/sub, Redis. triggers: - WebSocket - Socket.IO - real-time communication - bidirectional messaging - pub/sub - server push - live updates - chat systems - presence tracking role: specialist scope: implementation output-format:
tools
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.